From 3fe4f285720080da253298e10d580a19afd45be0 Mon Sep 17 00:00:00 2001 From: Jon Mirtschin Date: Tue, 10 Sep 2019 17:39:41 +1000 Subject: [PATCH] Ifc4.0.2.1 Baseline --- .../DocChangeSet.xml | 3742 ++++++------ .../Documentation.md | 0 ChangeSets/4.0.1.0/DocChangeSet.xml | 1598 ++++++ .../Documentation.md | 0 ChangeSets/4.0.2.0/DocChangeSet.xml | 463 ++ .../Documentation.md | 0 ChangeSets/4.0.2.1/DocChangeSet.xml | 878 +++ ChangeSets/4.0.2.1/Documentation.md | 2 + ChangeSets/IFC4 Addendum 1/DocChangeSet.xml | 1598 ------ ChangeSets/IFC4 Addendum 2/DocChangeSet.xml | 463 -- .../c/COMPLEX_3anFklXRj86BhMEVsDqIdj.xml | 2 +- .../ELEMENTEDWALL_17wGJl8PD2suSmzoMiGpGq.xml | 4 +- .../e/ELEMENT_2D6JmXdjHBQhjZ2o7Bv$fp.xml | 2 +- ...OAD_COMBINATION_1nghqo8HX7zQoeue7IbCQn.xml | 2 +- .../p/PARTIAL_02mpBiXF5B090xF$ZbUf7F.xml | 2 +- .../p/POLYGONAL_1Z2uEUEwX2KBJpQFW__Qch.xml | 6 +- .../s/STANDARD_3$tRl5c9X3d9115$P5AxjJ.xml | 6 +- Constants/w/WCSEAT_2uhRm$O6v1hepYfS5j9VCs.xml | 6 +- .../DocExample.xml | 2 +- .../Beam varying cardinal points/File.ifc | 8 +- .../DocExample.xml | 2 +- .../Beam varying extrusion paths/File.ifc | 4 +- .../Beam varying profiles/DocExample.xml | 2 +- .../Examples/Beam varying profiles/File.ifc | 4 +- .../Examples/Reinforcing assembly/File.ifc | 2 +- .../Reinforcing stirrup/DocExample.xml | 2 +- .../Examples/Slab openings/DocExample.xml | 2 +- .../Examples/Slab openings/File.ifc | 4 +- .../DocExample.xml | 2 +- .../Documentation.md | 3 + .../Curve parameters in degrees/File.ifc | 154 + .../DocExample.xml | 7 + .../Documentation.md | 3 + .../Curve parameters in radians/File.ifc | 151 + .../Basic context information/DocExample.xml | 2 +- Examples/Basic geometric shape/DocExample.xml | 1 + .../Examples/Extruded solid/DocExample.xml | 1 + .../Wall with opening and window/File.ifc | 2 +- .../Slab elemented case/DocExample.xml | 2 +- .../Wall elemented case/DocExample.xml | 2 +- .../Examples/Wall elemented case/File.ifc | 2 +- .../Beam extruded solid/DocExample.xml | 2 +- .../Beam revolved solid/DocExample.xml | 2 +- .../Examples/Beam revolved solid/File.ifc | 2 +- .../Beam standard case/DocExample.xml | 2 +- .../Examples/Beam standard case/File.ifc | 36 +- .../Column extruded solid/DocExample.xml | 2 +- .../Examples/Column extruded solid/File.ifc | 2 +- .../Element standard case/DocExample.xml | 2 +- .../Examples/Element standard case/File.ifc | 12 +- .../Slab standard case/DocExample.xml | 2 +- .../Examples/Slab standard case/File.ifc | 2 +- .../Wall standard case/DocExample.xml | 2 +- .../DocExample.xml | 2 +- .../Construction scheduling task/File.ifc | 10 +- .../Mapped geometric shape/DocExample.xml | 1 + .../DocExample.xml | 1 + .../DocExample.xml | 1 + .../DocExample.xml | 1 + .../DocExample.xml | 2 + .../Geographic referencing GK/DocExample.xml | 8 + .../Documentation.md | 3 + .../Geographic referencing GK/File.ifc | 81 + .../Geographic referencing UTM/DocExample.xml | 8 + .../Documentation.md | 3 + .../File.ifc | 26 +- .../Geographic referencing/Documentation.md | 1 - .../DocExample.xml | 2 + .../Tessellation with image texture/File.ifc | 2 +- .../DocExample.xml | 1 + .../Design Transfer View/DocModelView.xml | 467 +- .../Design Transfer View/Documentation.md | 28 +- ModelViews/General Usage/DocModelView.xml | 1229 ++-- ModelViews/Reference View/DocModelView.xml | 5024 +++++++++-------- ModelViews/Reference View/Documentation.md | 2 +- .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 7 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 4 +- .../Documentation.md | 0 .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../DocProperty.xml | 3 + .../DocProperty.xml | 7 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../DocProperty.xml | 3 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 10 + .../Documentation.md | 1 + .../DocProperty.xml | 10 + .../Documentation.md | 1 + .../DocProperty.xml | 10 + .../Documentation.md | 1 + .../DocProperty.xml | 10 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 13 + .../Documentation.md | 1 + .../DocProperty.xml | 13 + .../Documentation.md | 1 + .../DocProperty.xml | 13 + .../Documentation.md | 1 + .../DocProperty.xml | 13 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../Documentation.md | 1 + .../DocProperty.xml | 3 + .../DocProperty.xml | 3 + .../DocProperty.xml | 7 + .../Documentation.md | 1 + .../n/NONE_00rsh4T2j4PfKgc4o7A7X8.xml | 10 +- .../n/NOTDEFINED_0jPqDBAQ13AQB5eFaJZXjR.xml | 2 +- .../n/NOTKNOWN_0_n254Fb10hBW_0_XIj7Qe.xml | 2 +- .../p/PLAIN_0EphPNrOH0wQPf1nfRslNx.xml | 3 + .../t/TEXTURED_3iVpG874jBxRYyIQnG1zEe.xml | 3 + .../PEnum_HeatTransferType.xml} | 2 +- .../r/PEnum_ReinforcementBarSurface.xml | 12 + .../DocPublication.xml | 3 +- .../Documentation.md | 6 +- .../DocPublication.xml | 2 +- .../Documentation.md | 6 +- .../DocPublication.xml | 2 +- .../Documentation.md | 8 +- .../IfcObjectDefinition/DocEntity.xml | 2 +- .../Entities/IfcProject/DocEntity.xml | 2 +- .../IfcKernel/Entities/IfcProxy/DocEntity.xml | 2 +- .../Entities/IfcRelAssigns/DocEntity.xml | 2 +- .../IfcObjectTypeEnum/DocEnumeration.xml | 2 +- .../IfcDistributionElement/DocEntity.xml | 4 +- .../IfcOpeningElement/Documentation.md | 7 +- .../IfcOpeningStandardCase/DocEntity.xml | 2 +- .../Entities/IfcPort/DocEntity.xml | 2 +- .../Pset_LandRegistration/Documentation.md | 4 +- .../IfcDoorLiningProperties/DocEntity.xml | 6 +- .../IfcDoorPanelProperties/DocEntity.xml | 2 +- .../Entities/IfcDoorStyle/DocEntity.xml | 2 +- .../IfcWindowLiningProperties/DocEntity.xml | 6 +- .../IfcWindowPanelProperties/DocEntity.xml | 2 +- .../Entities/IfcWindowStyle/DocEntity.xml | 2 +- .../DocPropertySet.xml | 7 + .../Documentation.md | 1 + .../DocPropertySet.xml | 4 + .../DocPropertySet.xml | 2 + .../DocPropertySet.xml | 2 + .../DocPropertySet.xml | 2 +- .../Documentation.md | 2 +- .../Pset_TankPHistory/DocPropertySet.xml | 9 + .../Pset_TankPHistory/Documentation.md | 1 + .../Documentation.md | 3 +- .../Entities/IfcPile/DocEntity.xml | 2 +- .../DocEntity.xml | 2 +- .../Entities/IfcReinforcingBar/DocEntity.xml | 8 +- .../IfcReinforcingBarType/DocEntity.xml | 16 +- .../IfcReinforcingElement/DocEntity.xml | 8 +- .../Entities/IfcReinforcingMesh/DocEntity.xml | 18 +- .../IfcReinforcingMeshType/DocEntity.xml | 22 +- .../Entities/IfcTendon/DocEntity.xml | 14 +- .../Entities/IfcTendonType/DocEntity.xml | 6 +- .../DocPropertySet.xml | 14 + .../Documentation.md | 1 + .../DocPropertySet.xml | 18 + .../Documentation.md | 1 + .../DocPropertySet.xml | 8 + .../Pset_TendonAnchorCommon/Documentation.md | 1 + .../Pset_TendonCommon/DocPropertySet.xml | 10 + .../Pset_TendonCommon/Documentation.md | 1 + .../DocSchema.xml | 3 - .../IfcFaceBasedSurfaceModel/DocEntity.xml | 2 +- .../IfcFaceBasedSurfaceModel/Documentation.md | 2 +- .../IfcTriangulatedFaceSet/Documentation.md | 2 +- .../Entities/IfcCircle/Documentation.md | 7 +- .../IfcIndexedPolyCurve/Documentation.md | 4 +- .../Entities/IfcLine/Documentation.md | 6 +- .../Entities/IfcPolyline/Documentation.md | 6 +- .../Entities/IfcTrimmedCurve/Documentation.md | 2 +- .../IfcSurfaceWeightsPositive/Expression.txt | 3 +- .../Types/IfcCurveOnSurface/DocSelect.xml | 3 +- .../Schemas/IfcMaterialResource/DocSchema.xml | 3 - .../DocEntity.xml | 2 +- .../Entities/IfcMaterialLayer/DocEntity.xml | 3 +- .../Entities/IfcMaterialList/DocEntity.xml | 2 +- .../IfcUnitAssignment/Documentation.md | 2 + .../Types/IfcCountMeasure/DocDefined.xml | 1 + .../Types/IfcNumericMeasure/DocDefined.xml | 1 + .../DocSchema.xml | 4 - .../IfcFillAreaStyle/Documentation.md | 3 - .../DocEntity.xml | 2 +- .../Types/IfcNullStyle/DocEnumeration.xml | 2 +- .../IfcPresentationStyleSelect/DocSelect.xml | 2 +- .../IfcStyleAssignmentSelect/DocSelect.xml | 2 +- .../Entities/IfcBeam/Documentation.md | 9 +- .../IfcBeamStandardCase/DocEntity.xml | 2 +- .../Entities/IfcColumn/Documentation.md | 8 +- .../IfcColumnStandardCase/DocEntity.xml | 2 +- .../Entities/IfcDoor/Documentation.md | 20 +- .../IfcDoorStandardCase/DocEntity.xml | 2 +- .../Entities/IfcDoorType/Documentation.md | 32 - .../Entities/IfcMember/Documentation.md | 8 +- .../IfcMemberStandardCase/DocEntity.xml | 2 +- .../Entities/IfcPlate/Documentation.md | 11 +- .../IfcPlateStandardCase/DocEntity.xml | 2 +- .../IfcRelCoversBldgElements/DocEntity.xml | 2 +- .../Entities/IfcRelCoversSpaces/DocEntity.xml | 2 +- .../Entities/IfcSlab/Documentation.md | 10 +- .../IfcSlabElementedCase/DocEntity.xml | 2 +- .../IfcSlabStandardCase/DocEntity.xml | 2 +- .../Entities/IfcStairFlight/DocEntity.xml | 8 +- .../Entities/IfcWall/Documentation.md | 12 +- .../IfcWallElementedCase/DocEntity.xml | 2 +- .../IfcWallStandardCase/DocEntity.xml | 2 +- .../Entities/IfcWindow/Documentation.md | 18 +- .../IfcWindowStandardCase/DocEntity.xml | 2 +- .../Entities/IfcWindowType/DocEntity.xml | 2 +- .../Entities/IfcWindowType/Documentation.md | 20 - .../Types/IfcWallTypeEnum/Documentation.md | 6 +- .../IfcMechanicalFastener/DocEntity.xml | 14 +- .../IfcMechanicalFastener/Documentation.md | 2 +- .../IfcMechanicalFastenerType/DocEntity.xml | 6 +- .../DocPropertySet.xml | 8 + .../Documentation.md | 1 + .../DocTemplateDefinition.xml | 308 +- .../DocTemplateDefinition.xml | 51 +- Templates/Object Association/Documentation.md | 1 - .../DocTemplateDefinition.xml | 394 +- Templates/Object Attributes/Documentation.md | 8 +- .../DocTemplateDefinition.xml | 52 +- .../DocTemplateDefinition.xml | 99 +- .../DocTemplateDefinition.xml | 135 +- .../DocTemplateDefinition.xml | 211 +- .../Product Shape/DocTemplateDefinition.xml | 572 +- .../DocTemplateDefinition.xml | 110 +- .../Project Context/DocTemplateDefinition.xml | 277 +- .../examples/ifcwallelementedcase-solid.png | Bin 25293 -> 27643 bytes .../examples/ifcwallelementedcase-trans.png | Bin 43185 -> 40556 bytes figures/ifcadvancedbrep_01.png | Bin 90907 -> 80870 bytes figures/ifcbeam-01.png | Bin 0 -> 23614 bytes figures/ifcbeam-02.png | Bin 0 -> 28238 bytes figures/ifcbeam_cardinalpoint.png | Bin 0 -> 20084 bytes figures/ifccolumn-01.png | Bin 0 -> 23790 bytes figures/ifccolumn-02.png | Bin 0 -> 28415 bytes figures/ifccolumn_cardinalpoint.png | Bin 0 -> 21381 bytes ...ometricrepresentationcontext_truenorth.png | Bin 14152 -> 13636 bytes figures/ifcindexedcolourmap-fig1.png | Bin 2491 -> 17274 bytes figures/ifcindexedpolycurve-fig1.png | Bin 13770 -> 16831 bytes figures/ifcindexedpolycurve-fig2.png | Bin 7694 -> 8853 bytes figures/ifcindexedpolygonalface_01.png | Bin 15807 -> 16190 bytes figures/ifcmember-01.png | Bin 0 -> 23667 bytes figures/ifcmember-02.png | Bin 0 -> 28290 bytes figures/ifcmember_sweptsolid-01.png | Bin 4859 -> 0 bytes figures/ifcplate_materialusage-01.png | Bin 0 -> 9043 bytes figures/ifcpolyline-fig1.png | Bin 12133 -> 13286 bytes figures/ifcslabelementedcase-floor.png | Bin 66219 -> 0 bytes figures/ifcsurface-math1.png | Bin 0 -> 1777 bytes figures/ifcsurface-math2.png | Bin 0 -> 5931 bytes figures/ifcsweptdisksolid-layout1.png | Bin 14324 -> 42905 bytes figures/ifctriangulatedfaceset_01.png | Bin 59587 -> 12454 bytes figures/ifcwall_materialusage-01.png | Bin 0 -> 9254 bytes img/IFC4_layered_architecture.png | Bin 54030 -> 43592 bytes 299 files changed, 10889 insertions(+), 8257 deletions(-) rename ChangeSets/{IFC2x3 to IFC4 => 4.0.0.0}/DocChangeSet.xml (52%) rename ChangeSets/{IFC2x3 to IFC4 => 4.0.0.0}/Documentation.md (100%) create mode 100644 ChangeSets/4.0.1.0/DocChangeSet.xml rename ChangeSets/{IFC4 Addendum 1 => 4.0.1.0}/Documentation.md (100%) create mode 100644 ChangeSets/4.0.2.0/DocChangeSet.xml rename ChangeSets/{IFC4 Addendum 2 => 4.0.2.0}/Documentation.md (100%) create mode 100644 ChangeSets/4.0.2.1/DocChangeSet.xml create mode 100644 ChangeSets/4.0.2.1/Documentation.md delete mode 100644 ChangeSets/IFC4 Addendum 1/DocChangeSet.xml delete mode 100644 ChangeSets/IFC4 Addendum 2/DocChangeSet.xml rename Examples/{Placements and GIS referencing/Examples/Geographic referencing => Advanced geometric shape/Examples/Curve parameters in degrees}/DocExample.xml (65%) create mode 100644 Examples/Advanced geometric shape/Examples/Curve parameters in degrees/Documentation.md create mode 100644 Examples/Advanced geometric shape/Examples/Curve parameters in degrees/File.ifc create mode 100644 Examples/Advanced geometric shape/Examples/Curve parameters in radians/DocExample.xml create mode 100644 Examples/Advanced geometric shape/Examples/Curve parameters in radians/Documentation.md create mode 100644 Examples/Advanced geometric shape/Examples/Curve parameters in radians/File.ifc create mode 100644 Examples/Placements and GIS referencing/Examples/Geographic referencing GK/DocExample.xml create mode 100644 Examples/Placements and GIS referencing/Examples/Geographic referencing GK/Documentation.md create mode 100644 Examples/Placements and GIS referencing/Examples/Geographic referencing GK/File.ifc create mode 100644 Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/DocExample.xml create mode 100644 Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/Documentation.md rename Examples/Placements and GIS referencing/Examples/{Geographic referencing => Geographic referencing UTM}/File.ifc (78%) delete mode 100644 Examples/Placements and GIS referencing/Examples/Geographic referencing/Documentation.md create mode 100644 Properties/a/ActiveCellSurfaceAreaFraction_2QcZNIbVXDLekiPbViU_nz/DocProperty.xml create mode 100644 Properties/a/ActiveCellSurfaceAreaFraction_2QcZNIbVXDLekiPbViU_nz/Documentation.md create mode 100644 Properties/b/BarLength_3IWtxiBfL3dvVCxlV83MM0/DocProperty.xml create mode 100644 Properties/b/BarLength_3IWtxiBfL3dvVCxlV83MM0/Documentation.md create mode 100644 Properties/b/BarSpacing_00B12bISHCqw0gVJfym_Sc/DocProperty.xml create mode 100644 Properties/b/BarSpacing_00B12bISHCqw0gVJfym_Sc/Documentation.md create mode 100644 Properties/b/BarSurface_2qkJc4Qq9Blec78Vl$3MoE/DocProperty.xml create mode 100644 Properties/b/BarSurface_2qkJc4Qq9Blec78Vl$3MoE/Documentation.md create mode 100644 Properties/b/BendingParameters_1sRVDIkIP8QepwvE87UG0J/DocProperty.xml create mode 100644 Properties/b/BendingParameters_1sRVDIkIP8QepwvE87UG0J/Documentation.md create mode 100644 Properties/b/BendingShapeCode_2udkp8mjH5yw9fEAvfSOcg/DocProperty.xml create mode 100644 Properties/b/BendingShapeCode_2udkp8mjH5yw9fEAvfSOcg/Documentation.md create mode 100644 Properties/c/CellEfficiency_03JspggTX8tub0GPwCT481/DocProperty.xml create mode 100644 Properties/c/CellEfficiency_03JspggTX8tub0GPwCT481/Documentation.md create mode 100644 Properties/e/EfficiencyCurve_2aEBZ2UfnEdPbsufO9yZqy/DocProperty.xml create mode 100644 Properties/e/EfficiencyCurve_2aEBZ2UfnEdPbsufO9yZqy/Documentation.md rename Properties/h/{HeatTransferTypeEnum_2eawM0qS0HuO00025QrE$V => HeatTransferType_2eawM0qS0HuO00025QrE$V}/DocProperty.xml (68%) rename Properties/h/{HeatTransferTypeEnum_2eawM0qS0HuO00025QrE$V => HeatTransferType_2eawM0qS0HuO00025QrE$V}/Documentation.md (100%) create mode 100644 Properties/l/Level_2FfK7VEQ18bfS6UW5bjDs3/DocProperty.xml create mode 100644 Properties/l/Level_2FfK7VEQ18bfS6UW5bjDs3/Documentation.md create mode 100644 Properties/l/Level_2YT$iVpSfFp9mfXZHHYn1c/DocProperty.xml create mode 100644 Properties/l/Level_2YT$iVpSfFp9mfXZHHYn1c/Documentation.md create mode 100644 Properties/l/LongitudinalBarNominalDiameter_217XYJrM132RcHgHGWOKKm/DocProperty.xml create mode 100644 Properties/l/LongitudinalBarSpacing_0zQBvuVW98lQnxrINKc$Sn/DocProperty.xml create mode 100644 Properties/l/LongitudinalBarSurface_3RS_y7y2n1RPrkDG$xtLOH/DocProperty.xml create mode 100644 Properties/l/LongitudinalBarSurface_3RS_y7y2n1RPrkDG$xtLOH/Documentation.md create mode 100644 Properties/m/MeshLength_08AQo8cYP6PROJADN7$tya/DocProperty.xml create mode 100644 Properties/m/MeshWidth_2HI9158knE_gLETqt1OCJx/DocProperty.xml create mode 100644 Properties/m/ModuleCapacity_1u4zdKW6XFUQoYarMQLbtq/DocProperty.xml create mode 100644 Properties/m/ModuleCapacity_1u4zdKW6XFUQoYarMQLbtq/Documentation.md create mode 100644 Properties/m/ModulesInParallel_1aH6j1SE99_fngHMIHVC$P/DocProperty.xml create mode 100644 Properties/m/ModulesInParallel_1aH6j1SE99_fngHMIHVC$P/Documentation.md create mode 100644 Properties/m/ModulesInSeries_2SCdldRMz1EQkVMCQbp7gQ/DocProperty.xml create mode 100644 Properties/m/ModulesInSeries_2SCdldRMz1EQkVMCQbp7gQ/Documentation.md create mode 100644 Properties/n/NominalDiameter_0A8c8X4yP2xOKuafrNBsaG/DocProperty.xml create mode 100644 Properties/n/NominalDiameter_0A8c8X4yP2xOKuafrNBsaG/Documentation.md create mode 100644 Properties/n/NominalDiameter_18BXd89sj1xRbNqTu43bvX/DocProperty.xml create mode 100644 Properties/n/NominalDiameter_18BXd89sj1xRbNqTu43bvX/Documentation.md create mode 100644 Properties/n/NominalDiameter_3chH1GISj16wMEb$kUhUKU/DocProperty.xml create mode 100644 Properties/n/NominalDiameter_3chH1GISj16wMEb$kUhUKU/Documentation.md create mode 100644 Properties/n/NominalLength_1zu$08e7f1bBfiI$1wPJDE/DocProperty.xml create mode 100644 Properties/n/NominalLength_1zu$08e7f1bBfiI$1wPJDE/Documentation.md create mode 100644 Properties/p/Pressure_1FGUp2JnjDm9WSf7MzUIVG/DocProperty.xml create mode 100644 Properties/p/Pressure_1FGUp2JnjDm9WSf7MzUIVG/Documentation.md create mode 100644 Properties/r/RadiativeFraction_1NpylN_VP5vxDPzrJD433R/DocProperty.xml create mode 100644 Properties/r/RadiativeFraction_1NpylN_VP5vxDPzrJD433R/Documentation.md create mode 100644 Properties/r/RadiativeFraction_1yXe9WHHj80uzFn9Zy3ZgR/DocProperty.xml create mode 100644 Properties/r/RadiativeFraction_1yXe9WHHj80uzFn9Zy3ZgR/Documentation.md create mode 100644 Properties/r/Reference_0Jgg8uKTf3neyMWuiNJaPs/DocProperty.xml create mode 100644 Properties/r/Reference_0Jgg8uKTf3neyMWuiNJaPs/Documentation.md create mode 100644 Properties/r/Reference_1s$wXlplz2OAWsqC1oj_Ci/DocProperty.xml create mode 100644 Properties/r/Reference_1s$wXlplz2OAWsqC1oj_Ci/Documentation.md create mode 100644 Properties/r/Reference_2rbnE3HtHD6hMy4aEGfmky/DocProperty.xml create mode 100644 Properties/r/Reference_2rbnE3HtHD6hMy4aEGfmky/Documentation.md create mode 100644 Properties/r/Reference_3PnSsV2xH5FxPu61GHLOnT/DocProperty.xml create mode 100644 Properties/r/Reference_3PnSsV2xH5FxPu61GHLOnT/Documentation.md create mode 100644 Properties/s/SheathDiameter_2bINAwQGv0JRbqIZPSxDEp/DocProperty.xml create mode 100644 Properties/s/SheathDiameter_2bINAwQGv0JRbqIZPSxDEp/Documentation.md create mode 100644 Properties/s/Status_0Ps5H$cmr3GAgf1o7xNvqx/DocProperty.xml create mode 100644 Properties/s/Status_0Ps5H$cmr3GAgf1o7xNvqx/Documentation.md create mode 100644 Properties/s/Status_0w6CEEvBH8_82OWPi$yp0J/DocProperty.xml create mode 100644 Properties/s/Status_0w6CEEvBH8_82OWPi$yp0J/Documentation.md create mode 100644 Properties/s/Status_1zU_Y7TWrFux4mAMFtlCsA/DocProperty.xml create mode 100644 Properties/s/Status_1zU_Y7TWrFux4mAMFtlCsA/Documentation.md create mode 100644 Properties/s/Status_2gyMFQ3PL8sfxliEzsgytX/DocProperty.xml create mode 100644 Properties/s/Status_2gyMFQ3PL8sfxliEzsgytX/Documentation.md create mode 100644 Properties/t/Temperature_1xwFoGmszAiv4oRrZSViTy/DocProperty.xml create mode 100644 Properties/t/Temperature_1xwFoGmszAiv4oRrZSViTy/Documentation.md create mode 100644 Properties/t/TransverseBarBendingParameters_0$taXa9srEXB9I1d3ai9u4/DocProperty.xml create mode 100644 Properties/t/TransverseBarBendingParameters_0$taXa9srEXB9I1d3ai9u4/Documentation.md create mode 100644 Properties/t/TransverseBarBendingShapeCode_0OepHgUSb8ygLobAS7j8QC/DocProperty.xml create mode 100644 Properties/t/TransverseBarBendingShapeCode_0OepHgUSb8ygLobAS7j8QC/Documentation.md create mode 100644 Properties/t/TransverseBarNominalDiameter_2pXxXg8PH4zRbXzhVTDrAk/DocProperty.xml create mode 100644 Properties/t/TransverseBarSpacing_1VnCDpQAj5Y9$nQc__Xtmu/DocProperty.xml create mode 100644 Properties/t/TransverseBarSurface_39sLs5TpTDjh1uwTSuL$X8/DocProperty.xml create mode 100644 Properties/t/TransverseBarSurface_39sLs5TpTDjh1uwTSuL$X8/Documentation.md create mode 100644 PropertyConstants/p/PLAIN_0EphPNrOH0wQPf1nfRslNx.xml create mode 100644 PropertyConstants/t/TEXTURED_3iVpG874jBxRYyIQnG1zEe.xml rename PropertyEnumerations/{a/PEnum_AirToAirHeatTransferHeatTransferType.xml => h/PEnum_HeatTransferType.xml} (77%) create mode 100644 PropertyEnumerations/r/PEnum_ReinforcementBarSurface.xml rename Publications/{IFC4 Add2 DTV => IFC4 Add2 TC1 DTV}/DocPublication.xml (96%) rename Publications/{IFC4 Add2 RV => IFC4 Add2 TC1 DTV}/Documentation.md (88%) rename Publications/{IFC4 Add2 RV => IFC4 Add2 TC1 RV}/DocPublication.xml (97%) rename Publications/{IFC4 Add2 => IFC4 Add2 TC1 RV}/Documentation.md (89%) rename Publications/{IFC4 Add2 => IFC4 Add2 TC1}/DocPublication.xml (97%) rename Publications/{IFC4 Add2 DTV => IFC4 Add2 TC1}/Documentation.md (87%) create mode 100644 Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDevicePHistory/DocPropertySet.xml create mode 100644 Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDevicePHistory/Documentation.md create mode 100644 Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_TankPHistory/DocPropertySet.xml create mode 100644 Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_TankPHistory/Documentation.md create mode 100644 Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingBarCommon/DocPropertySet.xml create mode 100644 Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingBarCommon/Documentation.md create mode 100644 Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingMeshCommon/DocPropertySet.xml create mode 100644 Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingMeshCommon/Documentation.md create mode 100644 Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonAnchorCommon/DocPropertySet.xml create mode 100644 Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonAnchorCommon/Documentation.md create mode 100644 Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonCommon/DocPropertySet.xml create mode 100644 Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonCommon/Documentation.md create mode 100644 Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/PropertySets/Pset_MechanicalFastenerCommon/DocPropertySet.xml create mode 100644 Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/PropertySets/Pset_MechanicalFastenerCommon/Documentation.md rename Templates/{Object Association => Association}/DocTemplateDefinition.xml (82%) delete mode 100644 Templates/Object Association/Documentation.md create mode 100644 figures/ifcbeam-01.png create mode 100644 figures/ifcbeam-02.png create mode 100644 figures/ifcbeam_cardinalpoint.png create mode 100644 figures/ifccolumn-01.png create mode 100644 figures/ifccolumn-02.png create mode 100644 figures/ifccolumn_cardinalpoint.png create mode 100644 figures/ifcmember-01.png create mode 100644 figures/ifcmember-02.png delete mode 100644 figures/ifcmember_sweptsolid-01.png create mode 100644 figures/ifcplate_materialusage-01.png delete mode 100644 figures/ifcslabelementedcase-floor.png create mode 100644 figures/ifcsurface-math1.png create mode 100644 figures/ifcsurface-math2.png create mode 100644 figures/ifcwall_materialusage-01.png diff --git a/ChangeSets/IFC2x3 to IFC4/DocChangeSet.xml b/ChangeSets/4.0.0.0/DocChangeSet.xml similarity index 52% rename from ChangeSets/IFC2x3 to IFC4/DocChangeSet.xml rename to ChangeSets/4.0.0.0/DocChangeSet.xml index 3f2b0f123..503e89a74 100644 --- a/ChangeSets/IFC2x3 to IFC4/DocChangeSet.xml +++ b/ChangeSets/4.0.0.0/DocChangeSet.xml @@ -1,390 +1,390 @@  - + - + - + - - - - - - - - - - + + + + + + + + + + - + - - - + + + - + - - + + - + - + - + - - + + - + - - - - + + + + - + - - + + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - - + + - + - + - + - + - - + + - + - + - - + + - + - + - - - + + + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - - - + + + - - - - - - - + + + + + + + - + - + - + - + @@ -392,522 +392,522 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + - - + + - - + + - - + + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - - + + - + - - - + + + - + - + - + - + - - - + + + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - + @@ -916,111 +916,111 @@ - + - + - + - + - - - - - + + + + + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + @@ -1029,87 +1029,87 @@ - + - + - + - - + + - + - - - + + + - + - + - - - + + + - + - - + + - - - - + + + + - - - + + + - + - + - - + + - + - + - + - + - + @@ -1117,199 +1117,199 @@ - + - + - + - - - - + + + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - - - + + + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + @@ -1317,87 +1317,87 @@ - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + @@ -1405,42 +1405,42 @@ - - - - + + + + - + - - - + + + - + - + - + - + - + @@ -1448,463 +1448,463 @@ - + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - - - + + + - - - + + + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - - + + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - - - - - + + + + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - - - + + + - + - - - + + + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + @@ -1912,534 +1912,534 @@ - + - + - + - - + + - + - + - + - - - + + + - + - - - - + + + + - + - + - - - + + + - + - + - - - - + + + + - + - + - + - + - + - + - + - - - + + + - + - + - + - - - + + + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - - + + - + - + - - - - - + + + + + - + - - - - - - - - - + + + + + + + + + - - - + + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - - - - - - + + + + + + + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - + @@ -2447,159 +2447,159 @@ - - + + - + - + - + - + - + - - + + - - - + + + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + @@ -2607,955 +2607,955 @@ - + - + - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - - + + + - + - - + + - + - - - + + + - + - + - + - - + + - - + + - - - + + + - - + + - - - - + + + + - + - - + + - - - - + + + + - + - + - - + + - + - + - - - - + + + + - + - + - - - - + + + + - + - + - - - - + + + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - - - + + + + - + - + - - - - + + + + - + - + - - + + - + - + - - - + + + - + - + - - - - - + + + + + - - + + - + - + - + - - + + - + - + - + - + - - + + - - + + - + - + - - + + - + - - - - - - - + + + + + + + - + - - - - - - - + + + + + + + - + - + - - - + + + - + - + - + - + - + - - + + - + - + - - + + - + - + - - - - + + + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - - - + + + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - - - + + + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - + - + - - + + - - - + + + - - + + - + - + - - - - + + + + - + - + - - + + - + - + - - + + - + - + @@ -3564,115 +3564,115 @@ - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + @@ -3680,35 +3680,35 @@ - - + + - + - + - + - + - + - + @@ -3716,173 +3716,173 @@ - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - - + + - - - - - + + + + + - + - + - + - + - - - + + + - - - - - - - + + + + + + + - + - + - - + + - + - + - - + + - + - + - + - + - + - + @@ -3891,110 +3891,110 @@ - - - + + + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - - - - - + + + + + - + - - + + - - - - - - - + + + + + + + @@ -4003,131 +4003,131 @@ - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + @@ -4136,71 +4136,71 @@ - - - + + + - + - + - - - - + + + + - + - - - + + + - + - - - - - + + + + + - + - - - - - - + + + + + + - + - + - + - + - + - + - + @@ -4208,313 +4208,313 @@ - - - - - - + + + + + + - + - + - - - - + + + + - + - + - + - - - - + + + + - + - + - + - + - + - - + + - + - + - + - + - + - + - - + + - - - + + + - + - - - - - - + + + + + + - + - - - + + + - - - + + + - + - + - + - + - - - + + + - + - + - - - - - - + + + + + + - + - - - - - + + + + + - + - - - - - - + + + + + + - + - + - + - - - + + + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + @@ -4522,334 +4522,334 @@ - + - - + + - + - + - + - - + + - - - + + + - + - + - + - + - + - + - + - - - + + + - - - - - - + + + + + + - + - - - - + + + + - + - + - + - - - - - + + + + + - + - - - + + + - + - - + + - + - + - + - + - + - + - - - - + + + + - + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - - - + + + - + - - + + - - - - - - + + + + + + - + - - + + - + - + - - - - + + + + - + - - - - + + + + - + - + - + - + - - - - - - - + + + + + + + - + - - - + + + - - + + - + - - - - - - + + + + + + - - - - + + + + - + - - - - - + + + + + - + - + - + - - - - - + + + + + - - + + - + @@ -4858,198 +4858,198 @@ - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + @@ -5057,184 +5057,184 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - - - - - - + + + + + + - + - + - + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - + - + - + - + @@ -5243,345 +5243,345 @@ - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - - + + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - - - - - - - - + + + + + + + + - - - - + + + + - + - + - + - + - + - + @@ -5590,115 +5590,115 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - - + + - + - + - + @@ -5708,66 +5708,66 @@ - + - - - - - - - + + + + + + + - + - + - + - + - + - + - + - + - + - + @@ -5775,157 +5775,157 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - - + + - + - + @@ -5934,218 +5934,218 @@ - + - - - - - + + + + + - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - - + + - + - - + + - + - + - + - + - + - + - + - - + + diff --git a/ChangeSets/IFC2x3 to IFC4/Documentation.md b/ChangeSets/4.0.0.0/Documentation.md similarity index 100% rename from ChangeSets/IFC2x3 to IFC4/Documentation.md rename to ChangeSets/4.0.0.0/Documentation.md diff --git a/ChangeSets/4.0.1.0/DocChangeSet.xml b/ChangeSets/4.0.1.0/DocChangeSet.xml new file mode 100644 index 000000000..00b8ef8f1 --- /dev/null +++ b/ChangeSets/4.0.1.0/DocChangeSet.xml @@ -0,0 +1,1598 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ChangeSets/IFC4 Addendum 1/Documentation.md b/ChangeSets/4.0.1.0/Documentation.md similarity index 100% rename from ChangeSets/IFC4 Addendum 1/Documentation.md rename to ChangeSets/4.0.1.0/Documentation.md diff --git a/ChangeSets/4.0.2.0/DocChangeSet.xml b/ChangeSets/4.0.2.0/DocChangeSet.xml new file mode 100644 index 000000000..7def85e82 --- /dev/null +++ b/ChangeSets/4.0.2.0/DocChangeSet.xml @@ -0,0 +1,463 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ChangeSets/IFC4 Addendum 2/Documentation.md b/ChangeSets/4.0.2.0/Documentation.md similarity index 100% rename from ChangeSets/IFC4 Addendum 2/Documentation.md rename to ChangeSets/4.0.2.0/Documentation.md diff --git a/ChangeSets/4.0.2.1/DocChangeSet.xml b/ChangeSets/4.0.2.1/DocChangeSet.xml new file mode 100644 index 000000000..9f5e67cc4 --- /dev/null +++ b/ChangeSets/4.0.2.1/DocChangeSet.xml @@ -0,0 +1,878 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ChangeSets/4.0.2.1/Documentation.md b/ChangeSets/4.0.2.1/Documentation.md new file mode 100644 index 000000000..f055552ec --- /dev/null +++ b/ChangeSets/4.0.2.1/Documentation.md @@ -0,0 +1,2 @@ +{ .std} +The Technical Corrigendum to IFC4 Addendum 2 includes fixes and improvements to documentation, property sets, and examples based on implementer feedback. There are no changes to the schema, however all StandardCase and ElementedCase classes have been deprecated, with supertypes now supporting the same functionality. diff --git a/ChangeSets/IFC4 Addendum 1/DocChangeSet.xml b/ChangeSets/IFC4 Addendum 1/DocChangeSet.xml deleted file mode 100644 index c2545c6e0..000000000 --- a/ChangeSets/IFC4 Addendum 1/DocChangeSet.xml +++ /dev/null @@ -1,1598 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ChangeSets/IFC4 Addendum 2/DocChangeSet.xml b/ChangeSets/IFC4 Addendum 2/DocChangeSet.xml deleted file mode 100644 index d149bf672..000000000 --- a/ChangeSets/IFC4 Addendum 2/DocChangeSet.xml +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Constants/c/COMPLEX_3anFklXRj86BhMEVsDqIdj.xml b/Constants/c/COMPLEX_3anFklXRj86BhMEVsDqIdj.xml index 189517cf2..640a536e1 100644 --- a/Constants/c/COMPLEX_3anFklXRj86BhMEVsDqIdj.xml +++ b/Constants/c/COMPLEX_3anFklXRj86BhMEVsDqIdj.xml @@ -1,5 +1,5 @@  - + Not used - kept for upward compatibility. diff --git a/Constants/e/ELEMENTEDWALL_17wGJl8PD2suSmzoMiGpGq.xml b/Constants/e/ELEMENTEDWALL_17wGJl8PD2suSmzoMiGpGq.xml index c68286e6a..59d64ac59 100644 --- a/Constants/e/ELEMENTEDWALL_17wGJl8PD2suSmzoMiGpGq.xml +++ b/Constants/e/ELEMENTEDWALL_17wGJl8PD2suSmzoMiGpGq.xml @@ -1,7 +1,5 @@  - A stud wall framed with studs and faced with sheetings, sidings, wallboard, or plasterwork. -{ .deprecated} -> The value is deprecated, it is expressed by choosing the subtype _IfcWallElementedCase_. + A stud wall framed with studs and faced with sheetings, sidings, wallboard, or plasterwork. diff --git a/Constants/e/ELEMENT_2D6JmXdjHBQhjZ2o7Bv$fp.xml b/Constants/e/ELEMENT_2D6JmXdjHBQhjZ2o7Bv$fp.xml index c92a77313..0ca6cb304 100644 --- a/Constants/e/ELEMENT_2D6JmXdjHBQhjZ2o7Bv$fp.xml +++ b/Constants/e/ELEMENT_2D6JmXdjHBQhjZ2o7Bv$fp.xml @@ -1,5 +1,5 @@  - + Not used - kept for upward compatibility. diff --git a/Constants/l/LOAD_COMBINATION_1nghqo8HX7zQoeue7IbCQn.xml b/Constants/l/LOAD_COMBINATION_1nghqo8HX7zQoeue7IbCQn.xml index 4babceb03..88032d805 100644 --- a/Constants/l/LOAD_COMBINATION_1nghqo8HX7zQoeue7IbCQn.xml +++ b/Constants/l/LOAD_COMBINATION_1nghqo8HX7zQoeue7IbCQn.xml @@ -1,5 +1,5 @@  - + An intermediate level between LOAD_CASE and LOAD_COMBINATION. This level is obsolete and deprecated. Before the introduction of _IfcRelAssignsToGroupByFactor_, the purpose of this level was to provide a factor with which one or more LOAD_CASEs occur in a LOAD_COMBINATION. diff --git a/Constants/p/PARTIAL_02mpBiXF5B090xF$ZbUf7F.xml b/Constants/p/PARTIAL_02mpBiXF5B090xF$ZbUf7F.xml index 7b17190fe..217b4f1ee 100644 --- a/Constants/p/PARTIAL_02mpBiXF5B090xF$ZbUf7F.xml +++ b/Constants/p/PARTIAL_02mpBiXF5B090xF$ZbUf7F.xml @@ -1,5 +1,5 @@  - + Not used - kept for upward compatibility. diff --git a/Constants/p/POLYGONAL_1Z2uEUEwX2KBJpQFW__Qch.xml b/Constants/p/POLYGONAL_1Z2uEUEwX2KBJpQFW__Qch.xml index 645bc1360..cc85b5861 100644 --- a/Constants/p/POLYGONAL_1Z2uEUEwX2KBJpQFW__Qch.xml +++ b/Constants/p/POLYGONAL_1Z2uEUEwX2KBJpQFW__Qch.xml @@ -1,5 +1,7 @@  - - A polygonal wall, extruded vertically, where the wall thickness varies along the wall path. + + A polygonal wall, extruded vertically, where the wall thickness varies along the wall path. +{ .deprecated} +> IFC4 DEPRECATION&nbsp; The enumerator POLYGONAL is deprecated and shall no longer be used. diff --git a/Constants/s/STANDARD_3$tRl5c9X3d9115$P5AxjJ.xml b/Constants/s/STANDARD_3$tRl5c9X3d9115$P5AxjJ.xml index 405aef7b4..0d55f2036 100644 --- a/Constants/s/STANDARD_3$tRl5c9X3d9115$P5AxjJ.xml +++ b/Constants/s/STANDARD_3$tRl5c9X3d9115$P5AxjJ.xml @@ -1,7 +1,5 @@  - - A standard wall, extruded vertically with a constant thickness along the wall path. -{ .deprecated} -> The value is deprecated, it is expressed by choosing the subtype _IfcWallStandardCase_. + + A standard wall, extruded vertically with a constant thickness along the wall path. diff --git a/Constants/w/WCSEAT_2uhRm$O6v1hepYfS5j9VCs.xml b/Constants/w/WCSEAT_2uhRm$O6v1hepYfS5j9VCs.xml index e368f3b9e..7a0d8aab5 100644 --- a/Constants/w/WCSEAT_2uhRm$O6v1hepYfS5j9VCs.xml +++ b/Constants/w/WCSEAT_2uhRm$O6v1hepYfS5j9VCs.xml @@ -1,5 +1,7 @@  - - [Deprecated] Hinged seat that fits on the top of a water closet (WC) pan. + + Hinged seat that fits on the top of a water closet (WC) pan. +{ .deprecated} +> DEPRECATION&nbsp; Enumerator shall not be used in IFC4. diff --git a/Examples/Additional test cases/Examples/Beam varying cardinal points/DocExample.xml b/Examples/Additional test cases/Examples/Beam varying cardinal points/DocExample.xml index f75bf7f9e..e992e46e4 100644 --- a/Examples/Additional test cases/Examples/Beam varying cardinal points/DocExample.xml +++ b/Examples/Additional test cases/Examples/Beam varying cardinal points/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Additional test cases/Examples/Beam varying cardinal points/File.ifc b/Examples/Additional test cases/Examples/Beam varying cardinal points/File.ifc index c485ae16b..0153dd577 100644 --- a/Examples/Additional test cases/Examples/Beam varying cardinal points/File.ifc +++ b/Examples/Additional test cases/Examples/Beam varying cardinal points/File.ifc @@ -44,7 +44,7 @@ DATA; #207= IFCBEAMTYPE('32b2OtzCP30umNyY5LsCfN',#56,'IPE200',$,$,$,$,$,$,.JOIST.); #208= IFCRELDEFINESBYTYPE('3s_DqAVvb3LguudTShJHVo',#56,$,$,(#210,#227,#243,#260),#207); #209= IFCRELDECLARES('18K3qwA9fCieEg2L2UiuR_',#56,$,$,#100,(#207)); -#210= IFCBEAMSTANDARDCASE('2YX3YEaA13qOf$B1iBgAf6',#56,'TopMid',$,$,#211,#226,$,$); +#210= IFCBEAM('2YX3YEaA13qOf$B1iBgAf6',#56,'TopMid',$,$,#211,#226,$,$); #211= IFCLOCALPLACEMENT($,#212); #212= IFCAXIS2PLACEMENT3D(#2,#213,#214); #213= IFCDIRECTION((0.0,1.0,0.0)); @@ -61,7 +61,7 @@ DATA; #224= IFCCARTESIANPOINT((0.0,-100.0,0.0)); #225= IFCSHAPEREPRESENTATION(#5,'Body','SweptSolid',(#222)); #226= IFCPRODUCTDEFINITIONSHAPE($,$,(#218,#225)); -#227= IFCBEAMSTANDARDCASE('39IDqhhC14BxCj_Ryk$esj',#56,'BotMid',$,$,#228,#242,$,$); +#227= IFCBEAM('39IDqhhC14BxCj_Ryk$esj',#56,'BotMid',$,$,#228,#242,$,$); #228= IFCLOCALPLACEMENT($,#229); #229= IFCAXIS2PLACEMENT3D(#2,#230,#231); #230= IFCDIRECTION((0.0,1.0,0.0)); @@ -77,7 +77,7 @@ DATA; #240= IFCCARTESIANPOINT((0.0,100.0,0.0)); #241= IFCSHAPEREPRESENTATION(#5,'Body','SweptSolid',(#238)); #242= IFCPRODUCTDEFINITIONSHAPE($,$,(#234,#241)); -#243= IFCBEAMSTANDARDCASE('17CqI$IjrDARuaYNcWcoRH',#56,'BotLeft',$,$,#244,#259,$,$); +#243= IFCBEAM('17CqI$IjrDARuaYNcWcoRH',#56,'BotLeft',$,$,#244,#259,$,$); #244= IFCLOCALPLACEMENT($,#245); #245= IFCAXIS2PLACEMENT3D(#246,#247,#248); #246= IFCCARTESIANPOINT((500.0,0.0,0.0)); @@ -94,7 +94,7 @@ DATA; #257= IFCCARTESIANPOINT((-50.0,100.0,0.0)); #258= IFCSHAPEREPRESENTATION(#5,'Body','SweptSolid',(#255)); #259= IFCPRODUCTDEFINITIONSHAPE($,$,(#251,#258)); -#260= IFCBEAMSTANDARDCASE('3TOzuh11rACgRkioYYOjj5',#56,'TopRight',$,$,#261,#276,$,$); +#260= IFCBEAM('3TOzuh11rACgRkioYYOjj5',#56,'TopRight',$,$,#261,#276,$,$); #261= IFCLOCALPLACEMENT($,#262); #262= IFCAXIS2PLACEMENT3D(#263,#264,#265); #263= IFCCARTESIANPOINT((500.0,0.0,0.0)); diff --git a/Examples/Additional test cases/Examples/Beam varying extrusion paths/DocExample.xml b/Examples/Additional test cases/Examples/Beam varying extrusion paths/DocExample.xml index 59ed3de91..7c3f6090a 100644 --- a/Examples/Additional test cases/Examples/Beam varying extrusion paths/DocExample.xml +++ b/Examples/Additional test cases/Examples/Beam varying extrusion paths/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Additional test cases/Examples/Beam varying extrusion paths/File.ifc b/Examples/Additional test cases/Examples/Beam varying extrusion paths/File.ifc index f1dd6466c..f3c95222d 100644 --- a/Examples/Additional test cases/Examples/Beam varying extrusion paths/File.ifc +++ b/Examples/Additional test cases/Examples/Beam varying extrusion paths/File.ifc @@ -44,7 +44,7 @@ DATA; #207= IFCBEAMTYPE('32b2OtzCP30umNyY5LsCfN',#56,'IPE200',$,$,$,$,$,$,.JOIST.); #208= IFCRELDEFINESBYTYPE('3s_DqAVvb3LguudTShJHVo',#56,$,$,(#210,#227),#207); #209= IFCRELDECLARES('2tgfGrMZ15PQOp9j9EqeaR',#56,$,$,#100,(#207)); -#210= IFCBEAMSTANDARDCASE('0a_qfeQLDA8e5qT$Do6J_t',#56,'Extrusion',$,$,#211,#226,$,$); +#210= IFCBEAM('0a_qfeQLDA8e5qT$Do6J_t',#56,'Extrusion',$,$,#211,#226,$,$); #211= IFCLOCALPLACEMENT($,#212); #212= IFCAXIS2PLACEMENT3D(#2,#213,#214); #213= IFCDIRECTION((0.0,1.0,0.0)); @@ -61,7 +61,7 @@ DATA; #224= IFCCARTESIANPOINT((0.0,-100.0,0.0)); #225= IFCSHAPEREPRESENTATION(#5,'Body','SweptSolid',(#222)); #226= IFCPRODUCTDEFINITIONSHAPE($,$,(#218,#225)); -#227= IFCBEAMSTANDARDCASE('1zqFh80l11VgfEm3ZWh6Xv',#56,'Revolution',$,$,#228,#249,$,$); +#227= IFCBEAM('1zqFh80l11VgfEm3ZWh6Xv',#56,'Revolution',$,$,#228,#249,$,$); #228= IFCLOCALPLACEMENT($,#229); #229= IFCAXIS2PLACEMENT3D(#230,#231,#232); #230= IFCCARTESIANPOINT((0.0,0.0,400.0)); diff --git a/Examples/Additional test cases/Examples/Beam varying profiles/DocExample.xml b/Examples/Additional test cases/Examples/Beam varying profiles/DocExample.xml index 0674b9a84..d8ac945cb 100644 --- a/Examples/Additional test cases/Examples/Beam varying profiles/DocExample.xml +++ b/Examples/Additional test cases/Examples/Beam varying profiles/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Additional test cases/Examples/Beam varying profiles/File.ifc b/Examples/Additional test cases/Examples/Beam varying profiles/File.ifc index 4726ecb0f..761204fad 100644 --- a/Examples/Additional test cases/Examples/Beam varying profiles/File.ifc +++ b/Examples/Additional test cases/Examples/Beam varying profiles/File.ifc @@ -44,7 +44,7 @@ DATA; #207= IFCBEAMTYPE('32b2OtzCP30umNyY5LsCfN',#56,'IPE200',$,$,$,$,$,$,.JOIST.); #208= IFCRELDEFINESBYTYPE('3s_DqAVvb3LguudTShJHVo',#56,$,$,(#210),#207); #209= IFCRELDECLARES('2DvxT2XND9fesX3CV34ZPl',#56,$,$,#100,(#207,#305)); -#210= IFCBEAMSTANDARDCASE('0uo2yx7G19uwCu9sIjn6DQ',#56,'IPE200',$,$,#211,#224,$,$); +#210= IFCBEAM('0uo2yx7G19uwCu9sIjn6DQ',#56,'IPE200',$,$,#211,#224,$,$); #211= IFCLOCALPLACEMENT($,#212); #212= IFCAXIS2PLACEMENT3D(#2,#213,#214); #213= IFCDIRECTION((0.0,1.0,0.0)); @@ -65,7 +65,7 @@ DATA; #304= IFCRELASSOCIATESMATERIAL('3aZa8DE_z84uP2gdbcb_UP',#56,'MatAssoc','Material Associates',(#305),#303); #305= IFCBEAMTYPE('3l_OKNTJr4yBOR5rYl6b9w',#56,'CHS219.1x6.3',$,$,$,$,$,$,.BEAM.); #306= IFCRELDEFINESBYTYPE('3LrutsCpn4DPF9Zt4YdIEU',#56,$,$,(#307),#305); -#307= IFCBEAMSTANDARDCASE('3_NFDdmqr7mxekvlvcgwa7',#56,'CHS219.1x6.3',$,$,#308,#321,$,$); +#307= IFCBEAM('3_NFDdmqr7mxekvlvcgwa7',#56,'CHS219.1x6.3',$,$,#308,#321,$,$); #308= IFCLOCALPLACEMENT($,#309); #309= IFCAXIS2PLACEMENT3D(#310,#311,#312); #310= IFCCARTESIANPOINT((500.0,0.0,0.0)); diff --git a/Examples/Additional test cases/Examples/Reinforcing assembly/File.ifc b/Examples/Additional test cases/Examples/Reinforcing assembly/File.ifc index a0007e0f6..1acd4ee90 100644 --- a/Examples/Additional test cases/Examples/Reinforcing assembly/File.ifc +++ b/Examples/Additional test cases/Examples/Reinforcing assembly/File.ifc @@ -56,7 +56,7 @@ DATA; #219= IFCRELASSOCIATESMATERIAL('2ZEgyI2v184hwa$_diRqS9',#56,'MatAssoc','Material Associates',(#220),#218); #220= IFCBEAMTYPE('3bdpqVuWTCbxJ2S3ODYv6q',#56,'400x200RC',$,$,$,$,$,$,.BEAM.); #221= IFCRELDEFINESBYTYPE('2oaQVVf79BrwRouvtRuQVg',#56,$,$,(#222),#220); -#222= IFCBEAMSTANDARDCASE('1yjQ2DwLnCC8k3i3X6D_ut',#56,$,$,$,#223,#238,$,$); +#222= IFCBEAM('1yjQ2DwLnCC8k3i3X6D_ut',#56,$,$,$,#223,#238,$,$); #223= IFCLOCALPLACEMENT($,#224); #224= IFCAXIS2PLACEMENT3D(#2,#225,#226); #225= IFCDIRECTION((0.0,1.0,0.0)); diff --git a/Examples/Additional test cases/Examples/Reinforcing stirrup/DocExample.xml b/Examples/Additional test cases/Examples/Reinforcing stirrup/DocExample.xml index a8f85251f..2882f7eb8 100644 --- a/Examples/Additional test cases/Examples/Reinforcing stirrup/DocExample.xml +++ b/Examples/Additional test cases/Examples/Reinforcing stirrup/DocExample.xml @@ -1,7 +1,7 @@  - + diff --git a/Examples/Additional test cases/Examples/Slab openings/DocExample.xml b/Examples/Additional test cases/Examples/Slab openings/DocExample.xml index e44e962ee..588608d11 100644 --- a/Examples/Additional test cases/Examples/Slab openings/DocExample.xml +++ b/Examples/Additional test cases/Examples/Slab openings/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Additional test cases/Examples/Slab openings/File.ifc b/Examples/Additional test cases/Examples/Slab openings/File.ifc index 1eaca871a..6f6a45754 100644 --- a/Examples/Additional test cases/Examples/Slab openings/File.ifc +++ b/Examples/Additional test cases/Examples/Slab openings/File.ifc @@ -42,7 +42,7 @@ DATA; #205= IFCRELASSOCIATESMATERIAL('2l_enLhI93reVwnim9gXUq',#56,'MatAssoc','Material Associates',(#300),#204); #300= IFCSLABTYPE('0RSW$KKbzCZ9QaSm3GoEan',#56,'200mm Concrete',$,$,$,$,$,$,.FLOOR.); #302= IFCRELDECLARES('1oXuN5qJ93Eggy5n3jcluj',#56,$,$,#100,(#300)); -#303= IFCSLABSTANDARDCASE('1wAj$J2Az2V8wnBiVYd3bU',#56,$,$,$,#304,#315,$,$); +#303= IFCSLAB('1wAj$J2Az2V8wnBiVYd3bU',#56,$,$,$,#304,#315,$,$); #304= IFCLOCALPLACEMENT($,#316); #305= IFCAXIS2PLACEMENT3D(#306,$,$); #306= IFCCARTESIANPOINT((0.0,0.0,-200.0)); @@ -64,7 +64,7 @@ DATA; #322= IFCEXTRUDEDAREASOLID(#318,#319,#321,200.0); #323= IFCSHAPEREPRESENTATION(#5,'Body','SweptSolid',(#322)); #324= IFCPRODUCTDEFINITIONSHAPE($,$,(#323)); -#325= IFCOPENINGSTANDARDCASE('15RSTHd8nFVQWMRE7og7sd',#56,'Opening',$,$,#327,#324,$,$); +#325= IFCOPENINGELEMENT('15RSTHd8nFVQWMRE7og7sd',#56,'Opening',$,$,#327,#324,$,$); #326= IFCAXIS2PLACEMENT3D(#2,$,$); #327= IFCLOCALPLACEMENT($,#326); #328= IFCRELVOIDSELEMENT('0gqEDsyEzFXvY$fc_rUxyO',#56,$,$,#303,#325); diff --git a/Examples/Placements and GIS referencing/Examples/Geographic referencing/DocExample.xml b/Examples/Advanced geometric shape/Examples/Curve parameters in degrees/DocExample.xml similarity index 65% rename from Examples/Placements and GIS referencing/Examples/Geographic referencing/DocExample.xml rename to Examples/Advanced geometric shape/Examples/Curve parameters in degrees/DocExample.xml index 4677d1841..ef218f5f8 100644 --- a/Examples/Placements and GIS referencing/Examples/Geographic referencing/DocExample.xml +++ b/Examples/Advanced geometric shape/Examples/Curve parameters in degrees/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Advanced geometric shape/Examples/Curve parameters in degrees/Documentation.md b/Examples/Advanced geometric shape/Examples/Curve parameters in degrees/Documentation.md new file mode 100644 index 000000000..a2ce50a03 --- /dev/null +++ b/Examples/Advanced geometric shape/Examples/Curve parameters in degrees/Documentation.md @@ -0,0 +1,3 @@ +This example illustrates extruded solids based on trimmed arcs using degrees. The resulting solid is identical to the corresponding example in radians. + +!["Trimmed curve extrusions"](../../../../figures/examples/trimmedcurve.png "Figure 1 — Trimmed curve representation") diff --git a/Examples/Advanced geometric shape/Examples/Curve parameters in degrees/File.ifc b/Examples/Advanced geometric shape/Examples/Curve parameters in degrees/File.ifc new file mode 100644 index 000000000..6654200ae --- /dev/null +++ b/Examples/Advanced geometric shape/Examples/Curve parameters in degrees/File.ifc @@ -0,0 +1,154 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [DesignTransferView_V1]'),'2;1'); +FILE_NAME( +/* name */ 'C:\\My Work\\Geometry Gym\\documents\\building smart\\github\\ifcscript\\examples\\CurveParametersDegrees.ifc', +/* time_stamp */ '2017-06-28T23:09:53', +/* author */ ('jonm'), +/* organization */ ('Geometry Gym'), +/* preprocessor_version */ 'GeometryGymIFC v0.0.15.0 by Geometry Gym Pty Ltd built 2017-06-28T13:09:05', +/* originating_system */ 'IFCExamples v0.0.1.0', +/* authorization */ 'None'); + +FILE_SCHEMA (('IFC4')); +ENDSEC; + +DATA; +#10= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#11= IFCAXIS2PLACEMENT3D(#10,$,$); +#12= IFCLOCALPLACEMENT($,#11); +/* defines the default building (as required as the minimum spatial element) */ +/* These profile curves are intentionally expressed in a more complicated manner than possible to test parameterization */ +#13= IFCBUILDING('39t4Pu3nTC4ekXYRIHJB9W',$,'IfcBuilding',$,$,#12,$,$,$,$,$,#18); +#14= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Sa3dTJGn0H8TQIGiuGQd5',$,'Building','Building Container for Elements',(#77,#131,#180),#13); +#15= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#16= IFCAXIS2PLACEMENT3D(#15,$,$); +#18= IFCPOSTALADDRESS($,$,$,$,('Unknown'),$,'Unknown',$,'Unknown','Unknown'); +/* general entities required for all IFC sets, defining the context for the exchange */ +#20= IFCPROJECT('0$WU4A9R19$vKWO$AdOnKA',$,'IfcProject',$,$,$,$,(#31),#21); +#21= IFCUNITASSIGNMENT((#22,#23,#24,#27,#29)); +#22= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#23= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#24= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#25= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#26= IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.0174532925199433),#25); +#27= IFCCONVERSIONBASEDUNIT(#28,.PLANEANGLEUNIT.,'DEGREE',#26); +#28= IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); +#29= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.); +#30= IFCRELAGGREGATES('091a6ewbvCMQ2Vyiqspa7a',$,'Project Container','Project Container for Buildings',#20,(#13)); +#31= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.0001,#33,#34); +#32= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#33= IFCAXIS2PLACEMENT3D(#32,$,$); +#34= IFCDIRECTION((0.0,1.0)); +#35= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#31,$,.MODEL_VIEW.,$); +/* Example data for CurveParametersDegrees */ +#50= IFCMATERIAL('Steel',$,$); +#52= IFCCARTESIANPOINT((-1000.0,1000.0)); +#53= IFCDIRECTION((0.70710678,-0.70710678)); +#54= IFCVECTOR(#53,1414.2135623731); +#55= IFCLINE(#52,#54); +#56= IFCTRIMMEDCURVE(#55,(IFCPARAMETERVALUE(0.292893218813453)),(IFCPARAMETERVALUE(1.70710678118655)),.T.,.PARAMETER.); +#57= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#56); +#58= IFCCARTESIANPOINT((0.0,0.0)); +#59= IFCAXIS2PLACEMENT2D(#58,$); +#60= IFCCIRCLE(#59,1000.0); +#61= IFCTRIMMEDCURVE(#60,(IFCPARAMETERVALUE(315.0)),(IFCPARAMETERVALUE(135.0)),.T.,.PARAMETER.); +#62= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#61); +#63= IFCCOMPOSITECURVE((#57,#62),.U.); +#64= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'SemiCircle',#63); +#65= IFCMATERIALPROFILE('SemiCircle',$,#50,#64,$,$); +#67= IFCMATERIALPROFILESET('SemiCircle',$,(#65),$); +#68= IFCRELASSOCIATESMATERIAL('1gdVo5TjPETPZlW8HSRupM',$,'MatAssoc','Material Associates',(#69),#67); +#69= IFCCOLUMNTYPE('24mq0gwVr7bgEMXPmo$TrF',$,'SemiCircle',$,$,$,$,$,$,.COLUMN.); +#70= IFCRELDEFINESBYTYPE('0devdSRyf3uBEQbSqWTDjo',$,'NameNotAssigned',$,(#77),#69); +#71= IFCRELDECLARES('1Cjr05W9T0fx0M3_mdVqMd',$,$,$,#20,(#69,#124,#173)); +#72= IFCMATERIALPROFILESETUSAGE(#67,5,$); +#73= IFCRELASSOCIATESMATERIAL('35z8gDFbb6gvrCOz$24tUJ',$,'MatAssoc','Material Associates',(#77),#72); +#74= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#75= IFCAXIS2PLACEMENT3D(#74,$,$); +#76= IFCLOCALPLACEMENT(#12,#75); +#77= IFCCOLUMN('0RGc8lepr7BRF_EtHrWJ45',$,'SemiCircle',$,$,#76,#85,$,$); +#78= IFCCARTESIANPOINT((0.0,0.0,2000.0)); +#79= IFCPOLYLINE((#15,#78)); +#80= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#31,$,.MODEL_VIEW.,$); +#81= IFCSHAPEREPRESENTATION(#80,'Axis','Curve3D',(#79)); +#82= IFCEXTRUDEDAREASOLID(#64,$,#83,2000.0); +#83= IFCDIRECTION((0.0,0.0,1.0)); +#84= IFCSHAPEREPRESENTATION(#35,'Body','SweptSolid',(#82)); +#85= IFCPRODUCTDEFINITIONSHAPE($,$,(#81,#84)); +#100= IFCCARTESIANPOINT((0.0,1000.0)); +#101= IFCAXIS2PLACEMENT2D(#100,#102); +#102= IFCDIRECTION((-1.0,0.0)); +#103= IFCCIRCLE(#101,1732.05081); +#104= IFCTRIMMEDCURVE(#103,(IFCPARAMETERVALUE(60.0)),(IFCPARAMETERVALUE(120.0)),.T.,.PARAMETER.); +#105= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#104); +#106= IFCCARTESIANPOINT((-866.0254,-500.0)); +#107= IFCAXIS2PLACEMENT2D(#106,#108); +#108= IFCDIRECTION((0.0,-1.0)); +#109= IFCCIRCLE(#107,1732.05081); +#110= IFCTRIMMEDCURVE(#109,(IFCPARAMETERVALUE(90.0)),(IFCPARAMETERVALUE(150.0)),.T.,.PARAMETER.); +#111= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#110); +#112= IFCCARTESIANPOINT((866.0254,-500.0)); +#113= IFCAXIS2PLACEMENT2D(#112,#114); +#114= IFCDIRECTION((0.0,1.0)); +#115= IFCCIRCLE(#113,1732.05081); +#116= IFCTRIMMEDCURVE(#115,(IFCPARAMETERVALUE(30.0)),(IFCPARAMETERVALUE(90.0)),.T.,.PARAMETER.); +#117= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#116); +#118= IFCCOMPOSITECURVE((#105,#111,#117),.U.); +#119= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'CurviLinearTriangle',#118); +#120= IFCMATERIALPROFILE('CurviLinearTriangle',$,#50,#119,$,$); +#122= IFCMATERIALPROFILESET('CurviLinearTriangle',$,(#120),$); +#123= IFCRELASSOCIATESMATERIAL('1qSyS$HSb8TRu4PVnIUzZM',$,'MatAssoc','Material Associates',(#124),#122); +#124= IFCCOLUMNTYPE('0JgmY6eGLC9AwX_nMFf5CT',$,'CurviLinearTriangle',$,$,$,$,$,$,.COLUMN.); +#125= IFCRELDEFINESBYTYPE('1N1PpBCJLB4QMrIjidnGaj',$,'NameNotAssigned',$,(#131),#124); +#126= IFCMATERIALPROFILESETUSAGE(#122,5,$); +#127= IFCRELASSOCIATESMATERIAL('00Bah4pIPCa9jB2F34kUX_',$,'MatAssoc','Material Associates',(#131),#126); +#128= IFCCARTESIANPOINT((2500.0,0.0,0.0)); +#129= IFCAXIS2PLACEMENT3D(#128,$,$); +#130= IFCLOCALPLACEMENT(#12,#129); +#131= IFCCOLUMN('3vcm8ZmFfDwhpgzzT7EP8n',$,'CurviLinearTriangle',$,$,#130,#137,$,$); +#132= IFCCARTESIANPOINT((0.0,0.0,2000.0)); +#133= IFCPOLYLINE((#15,#132)); +#134= IFCSHAPEREPRESENTATION(#80,'Axis','Curve3D',(#133)); +#135= IFCEXTRUDEDAREASOLID(#119,$,#83,2000.0); +#136= IFCSHAPEREPRESENTATION(#35,'Body','SweptSolid',(#135)); +#137= IFCPRODUCTDEFINITIONSHAPE($,$,(#134,#136)); +#150= IFCCARTESIANPOINT((0.0,0.0)); +#151= IFCAXIS2PLACEMENT2D(#150,$); +#152= IFCELLIPSE(#151,1000.0,500.0); +#153= IFCTRIMMEDCURVE(#152,(IFCPARAMETERVALUE(0.0)),(IFCPARAMETERVALUE(45.0)),.T.,.PARAMETER.); +#154= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#153); +#155= IFCCARTESIANPOINT((0.0,0.0)); +#156= IFCDIRECTION((0.89442719,0.4472136)); +#157= IFCVECTOR(#156,1.0); +#158= IFCLINE(#155,#157); +#159= IFCTRIMMEDCURVE(#158,(IFCPARAMETERVALUE(0.0)),(IFCPARAMETERVALUE(790.569415042095)),.F.,.PARAMETER.); +#160= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#159); +#161= IFCCARTESIANPOINT((0.0,0.0)); +#162= IFCDIRECTION((1.0,0.0)); +#163= IFCVECTOR(#162,1.0); +#164= IFCLINE(#161,#163); +#165= IFCTRIMMEDCURVE(#164,(IFCPARAMETERVALUE(0.0)),(IFCPARAMETERVALUE(1000.0)),.T.,.PARAMETER.); +#166= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#165); +#167= IFCCOMPOSITECURVE((#154,#160,#166),.U.); +#168= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PartialEllipse',#167); +#169= IFCMATERIALPROFILE('PartialEllipse',$,#50,#168,$,$); +#171= IFCMATERIALPROFILESET('PartialEllipse',$,(#169),$); +#172= IFCRELASSOCIATESMATERIAL('2V$PMUw5f3PgVGq_LG8lb7',$,'MatAssoc','Material Associates',(#173),#171); +#173= IFCCOLUMNTYPE('32anvmJgjFPOL650_UAlfM',$,'PartialEllipse',$,$,$,$,$,$,.COLUMN.); +#174= IFCRELDEFINESBYTYPE('1YdxXK2rrC6RnMj56iAUZG',$,'NameNotAssigned',$,(#180),#173); +#175= IFCMATERIALPROFILESETUSAGE(#171,5,$); +#176= IFCRELASSOCIATESMATERIAL('1k_RZ6rAPBe92Lvj8VqnvM',$,'MatAssoc','Material Associates',(#180),#175); +#177= IFCCARTESIANPOINT((5000.0,0.0,0.0)); +#178= IFCAXIS2PLACEMENT3D(#177,$,$); +#179= IFCLOCALPLACEMENT(#12,#178); +#180= IFCCOLUMN('0gw7Zq2jn3b91J9aZCStsR',$,'PartialEllipse',$,$,#179,#186,$,$); +#181= IFCCARTESIANPOINT((0.0,0.0,2000.0)); +#182= IFCPOLYLINE((#15,#181)); +#183= IFCSHAPEREPRESENTATION(#80,'Axis','Curve3D',(#182)); +#184= IFCEXTRUDEDAREASOLID(#168,$,#83,2000.0); +#185= IFCSHAPEREPRESENTATION(#35,'Body','SweptSolid',(#184)); +#186= IFCPRODUCTDEFINITIONSHAPE($,$,(#183,#185)); +ENDSEC; + +END-ISO-10303-21; diff --git a/Examples/Advanced geometric shape/Examples/Curve parameters in radians/DocExample.xml b/Examples/Advanced geometric shape/Examples/Curve parameters in radians/DocExample.xml new file mode 100644 index 000000000..a5c198521 --- /dev/null +++ b/Examples/Advanced geometric shape/Examples/Curve parameters in radians/DocExample.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Examples/Advanced geometric shape/Examples/Curve parameters in radians/Documentation.md b/Examples/Advanced geometric shape/Examples/Curve parameters in radians/Documentation.md new file mode 100644 index 000000000..d728928c8 --- /dev/null +++ b/Examples/Advanced geometric shape/Examples/Curve parameters in radians/Documentation.md @@ -0,0 +1,3 @@ +This example illustrates extruded solids based on trimmed arcs using radians. The resulting solid is identical to the corresponding example in degrees. + +!["Trimmed curve extrusions"](../../../../figures/examples/trimmedcurve.png "Figure 1 — Trimmed curve representation") diff --git a/Examples/Advanced geometric shape/Examples/Curve parameters in radians/File.ifc b/Examples/Advanced geometric shape/Examples/Curve parameters in radians/File.ifc new file mode 100644 index 000000000..a179038a2 --- /dev/null +++ b/Examples/Advanced geometric shape/Examples/Curve parameters in radians/File.ifc @@ -0,0 +1,151 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [DesignTransferView_V1]'),'2;1'); +FILE_NAME( +/* name */ 'C:\\My Work\\Geometry Gym\\documents\\building smart\\github\\ifcscript\\examples\\CurveParametersRadians.ifc', +/* time_stamp */ '2017-06-28T23:09:53', +/* author */ ('jonm'), +/* organization */ ('Geometry Gym'), +/* preprocessor_version */ 'GeometryGymIFC v0.0.15.0 by Geometry Gym Pty Ltd built 2017-06-28T13:09:05', +/* originating_system */ 'IFCExamples v0.0.1.0', +/* authorization */ 'None'); + +FILE_SCHEMA (('IFC4')); +ENDSEC; + +DATA; +#10= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#11= IFCAXIS2PLACEMENT3D(#10,$,$); +#12= IFCLOCALPLACEMENT($,#11); +/* defines the default building (as required as the minimum spatial element) */ +/* These profile curves are intentionally expressed in a more complicated manner than possible to test parameterization */ +#13= IFCBUILDING('39t4Pu3nTC4ekXYRIHJB9W',$,'IfcBuilding',$,$,#12,$,$,$,$,$,#18); +#14= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Sa3dTJGn0H8TQIGiuGQd5',$,'Building','Building Container for Elements',(#77,#131,#180),#13); +#15= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#16= IFCAXIS2PLACEMENT3D(#15,$,$); +#18= IFCPOSTALADDRESS($,$,$,$,('Unknown'),$,'Unknown',$,'Unknown','Unknown'); +/* general entities required for all IFC sets, defining the context for the exchange */ +#20= IFCPROJECT('0$WU4A9R19$vKWO$AdOnKA',$,'IfcProject',$,$,$,$,(#28),#21); +#21= IFCUNITASSIGNMENT((#22,#23,#24,#25,#26)); +#22= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#23= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#24= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#25= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#26= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.); +#27= IFCRELAGGREGATES('091a6ewbvCMQ2Vyiqspa7a',$,'Project Container','Project Container for Buildings',#20,(#13)); +#28= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.0001,#30,#31); +#29= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#30= IFCAXIS2PLACEMENT3D(#29,$,$); +#31= IFCDIRECTION((0.0,1.0)); +#32= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#28,$,.MODEL_VIEW.,$); +/* Example data for CurveParametersRadians */ +#50= IFCMATERIAL('Steel',$,$); +#52= IFCCARTESIANPOINT((-1000.0,1000.0)); +#53= IFCDIRECTION((0.70710678,-0.70710678)); +#54= IFCVECTOR(#53,1414.2135623731); +#55= IFCLINE(#52,#54); +#56= IFCTRIMMEDCURVE(#55,(IFCPARAMETERVALUE(0.292893218813453)),(IFCPARAMETERVALUE(1.70710678118655)),.T.,.PARAMETER.); +#57= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#56); +#58= IFCCARTESIANPOINT((0.0,0.0)); +#59= IFCAXIS2PLACEMENT2D(#58,$); +#60= IFCCIRCLE(#59,1000.0); +#61= IFCTRIMMEDCURVE(#60,(IFCPARAMETERVALUE(5.49778714378214)),(IFCPARAMETERVALUE(2.35619449019234)),.T.,.PARAMETER.); +#62= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#61); +#63= IFCCOMPOSITECURVE((#57,#62),.U.); +#64= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'SemiCircle',#63); +#65= IFCMATERIALPROFILE('SemiCircle',$,#50,#64,$,$); +#67= IFCMATERIALPROFILESET('SemiCircle',$,(#65),$); +#68= IFCRELASSOCIATESMATERIAL('1gdVo5TjPETPZlW8HSRupM',$,'MatAssoc','Material Associates',(#69),#67); +#69= IFCCOLUMNTYPE('24mq0gwVr7bgEMXPmo$TrF',$,'SemiCircle',$,$,$,$,$,$,.COLUMN.); +#70= IFCRELDEFINESBYTYPE('0devdSRyf3uBEQbSqWTDjo',$,'NameNotAssigned',$,(#77),#69); +#71= IFCRELDECLARES('1Cjr05W9T0fx0M3_mdVqMd',$,$,$,#20,(#69,#124,#173)); +#72= IFCMATERIALPROFILESETUSAGE(#67,5,$); +#73= IFCRELASSOCIATESMATERIAL('35z8gDFbb6gvrCOz$24tUJ',$,'MatAssoc','Material Associates',(#77),#72); +#74= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#75= IFCAXIS2PLACEMENT3D(#74,$,$); +#76= IFCLOCALPLACEMENT(#12,#75); +#77= IFCCOLUMN('0RGc8lepr7BRF_EtHrWJ45',$,'SemiCircle',$,$,#76,#85,$,$); +#78= IFCCARTESIANPOINT((0.0,0.0,2000.0)); +#79= IFCPOLYLINE((#15,#78)); +#80= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#28,$,.MODEL_VIEW.,$); +#81= IFCSHAPEREPRESENTATION(#80,'Axis','Curve3D',(#79)); +#82= IFCEXTRUDEDAREASOLID(#64,$,#83,2000.0); +#83= IFCDIRECTION((0.0,0.0,1.0)); +#84= IFCSHAPEREPRESENTATION(#32,'Body','SweptSolid',(#82)); +#85= IFCPRODUCTDEFINITIONSHAPE($,$,(#81,#84)); +#100= IFCCARTESIANPOINT((0.0,1000.0)); +#101= IFCAXIS2PLACEMENT2D(#100,#102); +#102= IFCDIRECTION((-1.0,0.0)); +#103= IFCCIRCLE(#101,1732.05081); +#104= IFCTRIMMEDCURVE(#103,(IFCPARAMETERVALUE(1.0471975511966)),(IFCPARAMETERVALUE(2.0943951023932)),.T.,.PARAMETER.); +#105= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#104); +#106= IFCCARTESIANPOINT((-866.0254,-500.0)); +#107= IFCAXIS2PLACEMENT2D(#106,#108); +#108= IFCDIRECTION((0.0,-1.0)); +#109= IFCCIRCLE(#107,1732.05081); +#110= IFCTRIMMEDCURVE(#109,(IFCPARAMETERVALUE(1.5707963267949)),(IFCPARAMETERVALUE(2.61799387799149)),.T.,.PARAMETER.); +#111= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#110); +#112= IFCCARTESIANPOINT((866.0254,-500.0)); +#113= IFCAXIS2PLACEMENT2D(#112,#114); +#114= IFCDIRECTION((0.0,1.0)); +#115= IFCCIRCLE(#113,1732.05081); +#116= IFCTRIMMEDCURVE(#115,(IFCPARAMETERVALUE(0.523598775598299)),(IFCPARAMETERVALUE(1.5707963267949)),.T.,.PARAMETER.); +#117= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#116); +#118= IFCCOMPOSITECURVE((#105,#111,#117),.U.); +#119= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'CurviLinearTriangle',#118); +#120= IFCMATERIALPROFILE('CurviLinearTriangle',$,#50,#119,$,$); +#122= IFCMATERIALPROFILESET('CurviLinearTriangle',$,(#120),$); +#123= IFCRELASSOCIATESMATERIAL('1M5oofzjD3IOM43brXW6wT',$,'MatAssoc','Material Associates',(#124),#122); +#124= IFCCOLUMNTYPE('3N_qc_BjX1hvEgwfRvVcb_',$,'CurviLinearTriangle',$,$,$,$,$,$,.COLUMN.); +#125= IFCRELDEFINESBYTYPE('3tGocD1N51oOvSvHbJI_qD',$,'NameNotAssigned',$,(#131),#124); +#126= IFCMATERIALPROFILESETUSAGE(#122,5,$); +#127= IFCRELASSOCIATESMATERIAL('0gnTzVmkbE9hPsJDxOUOL3',$,'MatAssoc','Material Associates',(#131),#126); +#128= IFCCARTESIANPOINT((2500.0,0.0,0.0)); +#129= IFCAXIS2PLACEMENT3D(#128,$,$); +#130= IFCLOCALPLACEMENT(#12,#129); +#131= IFCCOLUMN('0bmIILAwj8$PLHK1jcmad0',$,'CurviLinearTriangle',$,$,#130,#137,$,$); +#132= IFCCARTESIANPOINT((0.0,0.0,2000.0)); +#133= IFCPOLYLINE((#15,#132)); +#134= IFCSHAPEREPRESENTATION(#80,'Axis','Curve3D',(#133)); +#135= IFCEXTRUDEDAREASOLID(#119,$,#83,2000.0); +#136= IFCSHAPEREPRESENTATION(#32,'Body','SweptSolid',(#135)); +#137= IFCPRODUCTDEFINITIONSHAPE($,$,(#134,#136)); +#150= IFCCARTESIANPOINT((0.0,0.0)); +#151= IFCAXIS2PLACEMENT2D(#150,$); +#152= IFCELLIPSE(#151,1000.0,500.0); +#153= IFCTRIMMEDCURVE(#152,(IFCPARAMETERVALUE(0.0)),(IFCPARAMETERVALUE(0.785398163397448)),.T.,.PARAMETER.); +#154= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#153); +#155= IFCCARTESIANPOINT((0.0,0.0)); +#156= IFCDIRECTION((0.89442719,0.4472136)); +#157= IFCVECTOR(#156,1.0); +#158= IFCLINE(#155,#157); +#159= IFCTRIMMEDCURVE(#158,(IFCPARAMETERVALUE(0.0)),(IFCPARAMETERVALUE(790.569415042095)),.F.,.PARAMETER.); +#160= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#159); +#161= IFCCARTESIANPOINT((0.0,0.0)); +#162= IFCDIRECTION((1.0,0.0)); +#163= IFCVECTOR(#162,1.0); +#164= IFCLINE(#161,#163); +#165= IFCTRIMMEDCURVE(#164,(IFCPARAMETERVALUE(0.0)),(IFCPARAMETERVALUE(1000.0)),.T.,.PARAMETER.); +#166= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#165); +#167= IFCCOMPOSITECURVE((#154,#160,#166),.U.); +#168= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PartialEllipse',#167); +#169= IFCMATERIALPROFILE('PartialEllipse',$,#50,#168,$,$); +#171= IFCMATERIALPROFILESET('PartialEllipse',$,(#169),$); +#172= IFCRELASSOCIATESMATERIAL('2OfhB1Dcz2cAdV$CDh9PHV',$,'MatAssoc','Material Associates',(#173),#171); +#173= IFCCOLUMNTYPE('0dtemVu1P2682BcO3CPWAy',$,'PartialEllipse',$,$,$,$,$,$,.COLUMN.); +#174= IFCRELDEFINESBYTYPE('0rNx6sqCH2mOt1cWOT6zSU',$,'NameNotAssigned',$,(#180),#173); +#175= IFCMATERIALPROFILESETUSAGE(#171,5,$); +#176= IFCRELASSOCIATESMATERIAL('3bTNkVsf9099xrALHA6WhF',$,'MatAssoc','Material Associates',(#180),#175); +#177= IFCCARTESIANPOINT((5000.0,0.0,0.0)); +#178= IFCAXIS2PLACEMENT3D(#177,$,$); +#179= IFCLOCALPLACEMENT(#12,#178); +#180= IFCCOLUMN('1JCvykjKH71R7_uck4n6hN',$,'PartialEllipse',$,$,#179,#186,$,$); +#181= IFCCARTESIANPOINT((0.0,0.0,2000.0)); +#182= IFCPOLYLINE((#15,#181)); +#183= IFCSHAPEREPRESENTATION(#80,'Axis','Curve3D',(#182)); +#184= IFCEXTRUDEDAREASOLID(#168,$,#83,2000.0); +#185= IFCSHAPEREPRESENTATION(#32,'Body','SweptSolid',(#184)); +#186= IFCPRODUCTDEFINITIONSHAPE($,$,(#183,#185)); +ENDSEC; + +END-ISO-10303-21; diff --git a/Examples/Basic context information/DocExample.xml b/Examples/Basic context information/DocExample.xml index 366e08cdf..e75781efc 100644 --- a/Examples/Basic context information/DocExample.xml +++ b/Examples/Basic context information/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Basic geometric shape/DocExample.xml b/Examples/Basic geometric shape/DocExample.xml index 231c21789..ced955321 100644 --- a/Examples/Basic geometric shape/DocExample.xml +++ b/Examples/Basic geometric shape/DocExample.xml @@ -3,6 +3,7 @@ + diff --git a/Examples/Basic geometric shape/Examples/Extruded solid/DocExample.xml b/Examples/Basic geometric shape/Examples/Extruded solid/DocExample.xml index 393084c5f..c1b01f582 100644 --- a/Examples/Basic geometric shape/Examples/Extruded solid/DocExample.xml +++ b/Examples/Basic geometric shape/Examples/Extruded solid/DocExample.xml @@ -6,6 +6,7 @@ + diff --git a/Examples/Building element configuration/Examples/Wall with opening and window/File.ifc b/Examples/Building element configuration/Examples/Wall with opening and window/File.ifc index 3bcf5bb23..77f161a30 100644 --- a/Examples/Building element configuration/Examples/Wall with opening and window/File.ifc +++ b/Examples/Building element configuration/Examples/Wall with opening and window/File.ifc @@ -81,7 +81,7 @@ DATA; #44 = IFCRELCONTAINEDINSPATIALSTRUCTURE('0w_L$jTK98v8wOzKFGjTuo', #2, 'Default Building', 'Contents of Building Storey', (#45, #102), #38); /* the wall itself ----------------------------------------------------------------------------- */ -#45 = IFCWALLSTANDARDCASE('3ZYW59sxj8lei475l7EhLU', #2, 'Wall for Test Example', 'Description of Wall', $, #46, #48, $, $); +#45 = IFCWALL('3ZYW59sxj8lei475l7EhLU', #2, 'Wall for Test Example', 'Description of Wall', $, #46, #48, $, $); #46 = IFCLOCALPLACEMENT(#39, #47); /* no rotation - z and x axes set to '$' are therefore identical to "world coordinate system" -- */ #47 = IFCAXIS2PLACEMENT3D(#24, $, $); diff --git a/Examples/Building element elemented case/Examples/Slab elemented case/DocExample.xml b/Examples/Building element elemented case/Examples/Slab elemented case/DocExample.xml index 1e9a96d84..f796d8971 100644 --- a/Examples/Building element elemented case/Examples/Slab elemented case/DocExample.xml +++ b/Examples/Building element elemented case/Examples/Slab elemented case/DocExample.xml @@ -1,3 +1,3 @@  - + diff --git a/Examples/Building element elemented case/Examples/Wall elemented case/DocExample.xml b/Examples/Building element elemented case/Examples/Wall elemented case/DocExample.xml index 1bfa8c29b..e88a776e9 100644 --- a/Examples/Building element elemented case/Examples/Wall elemented case/DocExample.xml +++ b/Examples/Building element elemented case/Examples/Wall elemented case/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Building element elemented case/Examples/Wall elemented case/File.ifc b/Examples/Building element elemented case/Examples/Wall elemented case/File.ifc index a9ce62acf..1ec45d5bb 100644 --- a/Examples/Building element elemented case/Examples/Wall elemented case/File.ifc +++ b/Examples/Building element elemented case/Examples/Wall elemented case/File.ifc @@ -173,7 +173,7 @@ DATA; #122= IFCRELDEFINESBYTYPE('0b7wBKEN98nvtgUGavkVDu',$,$,$,(#123),#49); /* The wall occurrence is an instance of the wall type, and aggregates instantiations of all components */ -#123= IFCWALLELEMENTEDCASE('2ucZRLBGP4uxZW$9i1VAZ8',$,'Wall #1',$,$,#153,#154,$,.MOVABLE.); +#123= IFCWALL('2ucZRLBGP4uxZW$9i1VAZ8',$,'Wall #1',$,$,#153,#154,$,.MOVABLE.); #153= IFCLOCALPLACEMENT(#50,#159); #154= IFCPRODUCTDEFINITIONSHAPE($,$,(#160,#161)); #159= IFCAXIS2PLACEMENT3D(#162,#163,#164); diff --git a/Examples/Building element standard case/Examples/Beam extruded solid/DocExample.xml b/Examples/Building element standard case/Examples/Beam extruded solid/DocExample.xml index 443f32304..0cc9c205a 100644 --- a/Examples/Building element standard case/Examples/Beam extruded solid/DocExample.xml +++ b/Examples/Building element standard case/Examples/Beam extruded solid/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Building element standard case/Examples/Beam revolved solid/DocExample.xml b/Examples/Building element standard case/Examples/Beam revolved solid/DocExample.xml index 34743b630..338892daf 100644 --- a/Examples/Building element standard case/Examples/Beam revolved solid/DocExample.xml +++ b/Examples/Building element standard case/Examples/Beam revolved solid/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Building element standard case/Examples/Beam revolved solid/File.ifc b/Examples/Building element standard case/Examples/Beam revolved solid/File.ifc index 0f22539bb..091b6889b 100644 --- a/Examples/Building element standard case/Examples/Beam revolved solid/File.ifc +++ b/Examples/Building element standard case/Examples/Beam revolved solid/File.ifc @@ -85,7 +85,7 @@ DATA; /* defines the beam as a standard case element with revolved solid geometry */ /* the profile set usage indicated the cardinal point */ /* ---------------------------------------------------------------------------------------------- */ -#70= IFCBEAMSTANDARDCASE('3v1174zor6w9secwnbuYk1',#6,$,$,$,#73,#90,$,$); +#70= IFCBEAM('3v1174zor6w9secwnbuYk1',#6,$,$,$,#73,#90,$,$); #71= IFCMATERIALPROFILESETUSAGE(#66,5,$); #72= IFCRELASSOCIATESMATERIAL('09XSzlrVbBaPJrUqRqW_4D',#6,'MatAssoc','Material Associates',(#70),#71); #73= IFCLOCALPLACEMENT($,#74); diff --git a/Examples/Building element standard case/Examples/Beam standard case/DocExample.xml b/Examples/Building element standard case/Examples/Beam standard case/DocExample.xml index be406a931..ccd79d89e 100644 --- a/Examples/Building element standard case/Examples/Beam standard case/DocExample.xml +++ b/Examples/Building element standard case/Examples/Beam standard case/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Building element standard case/Examples/Beam standard case/File.ifc b/Examples/Building element standard case/Examples/Beam standard case/File.ifc index c7bee83bb..45d2c60e5 100644 --- a/Examples/Building element standard case/Examples/Beam standard case/File.ifc +++ b/Examples/Building element standard case/Examples/Beam standard case/File.ifc @@ -45,7 +45,7 @@ DATA; /* beam A-1 - beam axis along global x axis -------------------------------- */ /* cardinal point = 1 - bottom left */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#1000= IFCBEAMSTANDARDCASE('0juf4qyggSI8rxA20Qwnsj',$,'A-1','IPE220','Beam',#1001,#1010,'A-1',$); +#1000= IFCBEAM('0juf4qyggSI8rxA20Qwnsj',$,'A-1','IPE220','Beam',#1001,#1010,'A-1',$); #1001= IFCLOCALPLACEMENT(#100025,#1002); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -76,7 +76,7 @@ DATA; /* beam A-2 - beam axis along global x axis -------------------------------- */ /* cardinal point = 2 - bottom center */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#1100= IFCBEAMSTANDARDCASE('0juf4qyggSI8rxA20sznsj',$,'A-2','IPE220','Beam',#1101,#1110,'A-2',$); +#1100= IFCBEAM('0juf4qyggSI8rxA20sznsj',$,'A-2','IPE220','Beam',#1101,#1110,'A-2',$); #1101= IFCLOCALPLACEMENT(#100025,#1102); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -107,7 +107,7 @@ DATA; /* beam A-3 - beam axis along global x axis -------------------------------- */ /* cardinal point = 3 - bottom right */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#1200= IFCBEAMSTANDARDCASE('0juf4qyggSI8s4A20sznsj',$,'A-3','IPE220','Beam',#1201,#1210,'A-3',$); +#1200= IFCBEAM('0juf4qyggSI8s4A20sznsj',$,'A-3','IPE220','Beam',#1201,#1210,'A-3',$); #1201= IFCLOCALPLACEMENT(#100025,#1202); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -138,7 +138,7 @@ DATA; /* beam A-4 - beam axis along global x axis -------------------------------- */ /* cardinal point = 3 - bottom right */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#1300= IFCBEAMSTANDARDCASE('0juf4qyggSI8s4A20sznw6',$,'A-4','IPE220','Beam',#1301,#1310,'A-4',$); +#1300= IFCBEAM('0juf4qyggSI8s4A20sznw6',$,'A-4','IPE220','Beam',#1301,#1310,'A-4',$); #1301= IFCLOCALPLACEMENT(#100025,#1302); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -169,7 +169,7 @@ DATA; /* beam A-5 - beam axis along global x axis -------------------------------- */ /* cardinal point = 5 - mid-depth center */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#1400= IFCBEAMSTANDARDCASE('0juf4qyggSI8rxA20Qwnab',$,'A-5','IPE220','Beam',#1401,#1410,'A-5',$); +#1400= IFCBEAM('0juf4qyggSI8rxA20Qwnab',$,'A-5','IPE220','Beam',#1401,#1410,'A-5',$); #1401= IFCLOCALPLACEMENT(#100025,#1402); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -200,7 +200,7 @@ DATA; /* beam A-6 - beam axis along global x axis -------------------------------- */ /* cardinal point = 6 - mid-depth right */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#1500= IFCBEAMSTANDARDCASE('0juf4qyggSI8rxA20Qwng1',$,'A-6','IPE220','Beam',#1501,#1510,'A-6',$); +#1500= IFCBEAM('0juf4qyggSI8rxA20Qwng1',$,'A-6','IPE220','Beam',#1501,#1510,'A-6',$); #1501= IFCLOCALPLACEMENT(#100025,#1502); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -231,7 +231,7 @@ DATA; /* beam A-7 - beam axis along global x axis -------------------------------- */ /* cardinal point = 7 - top left */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#1600= IFCBEAMSTANDARDCASE('0juf4qyggSI8rxA20Qwn3s',$,'A-7','IPE220','Beam',#1601,#1610,'A-7',$); +#1600= IFCBEAM('0juf4qyggSI8rxA20Qwn3s',$,'A-7','IPE220','Beam',#1601,#1610,'A-7',$); #1601= IFCLOCALPLACEMENT(#100025,#1602); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -262,7 +262,7 @@ DATA; /* beam A-8 - beam axis along global x axis -------------------------------- */ /* cardinal point = 8 - top center */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#1700= IFCBEAMSTANDARDCASE('0juf4qyggSI8rxA20Qwnlq',$,'A-8','IPE220','Beam',#1701,#1710,'A-8',$); +#1700= IFCBEAM('0juf4qyggSI8rxA20Qwnlq',$,'A-8','IPE220','Beam',#1701,#1710,'A-8',$); #1701= IFCLOCALPLACEMENT(#100025,#1702); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -293,7 +293,7 @@ DATA; /* beam A-9 - beam axis along global x axis -------------------------------- */ /* cardinal point = 9 - top right */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#1800= IFCBEAMSTANDARDCASE('0juf4qyggSI8s4A20sznrt',$,'A-9','IPE220','Beam',#1801,#1810,'A-9',$); +#1800= IFCBEAM('0juf4qyggSI8s4A20sznrt',$,'A-9','IPE220','Beam',#1801,#1810,'A-9',$); #1801= IFCLOCALPLACEMENT(#100025,#1802); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -325,7 +325,7 @@ DATA; /* beam B-1 - beam axis along global x axis -------------------------------- */ /* cardinal point = 1 - bottom left */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#2000=IFCBEAMSTANDARDCASE('3QbcAsYoB7Hvx$4VHzijYi',$,'B-1','1/2IPE300','Beam',#2001,#2010,'B-1',$); +#2000=IFCBEAM('3QbcAsYoB7Hvx$4VHzijYi',$,'B-1','1/2IPE300','Beam',#2001,#2010,'B-1',$); #2001=IFCLOCALPLACEMENT(#100025,#2002); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -355,7 +355,7 @@ DATA; /* beam B-2 - beam axis along global x axis -------------------------------- */ /* cardinal point = 2 - bottom center */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#2100=IFCBEAMSTANDARDCASE('3Qb5gsYoB7Hvx$4VHzijYi',$,'B-2','1/2IPE300','Beam',#2101,#2110,'B-2',$); +#2100=IFCBEAM('3Qb5gsYoB7Hvx$4VHzijYi',$,'B-2','1/2IPE300','Beam',#2101,#2110,'B-2',$); #2101=IFCLOCALPLACEMENT(#100025,#2102); /* set local placement so that the z-axis is co-linear to the beam axis ---- */ /* the y-axis (cross product of x & z axis) is up direction of profile ----- */ @@ -385,7 +385,7 @@ DATA; /* beam B-3 - beam axis along global x axis -------------------------------- */ /* cardinal point = 3 - bottom right */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#2200=IFCBEAMSTANDARDCASE('3QbcAsYsg7Hvx$4VHzijYi',$,'B-3','1/2IPE300','Beam',#2201,#2210,'B-3',$); +#2200=IFCBEAM('3QbcAsYsg7Hvx$4VHzijYi',$,'B-3','1/2IPE300','Beam',#2201,#2210,'B-3',$); #2201=IFCLOCALPLACEMENT(#100025,#2202); #2202=IFCAXIS2PLACEMENT3D(#2203,#2204,#2205); #2203=IFCCARTESIANPOINT((0.,3000.,1500.)); @@ -413,7 +413,7 @@ DATA; /* beam B-4 - beam axis along global x axis -------------------------------- */ /* cardinal point = 4 - mid-depth left */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#2300=IFCBEAMSTANDARDCASE('3QbcAsYsg7Hvx$4VHzijGT',$,'B-4','1/2IPE300','Beam',#2301,#2310,'B-4',$); +#2300=IFCBEAM('3QbcAsYsg7Hvx$4VHzijGT',$,'B-4','1/2IPE300','Beam',#2301,#2310,'B-4',$); #2301=IFCLOCALPLACEMENT(#100025,#2302); #2302=IFCAXIS2PLACEMENT3D(#2303,#2304,#2305); #2303=IFCCARTESIANPOINT((0.,4500.,1500.)); @@ -441,7 +441,7 @@ DATA; /* beam B-5 - beam axis along global x axis -------------------------------- */ /* cardinal point = 5 - mid-depth centre */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#2400=IFCBEAMSTANDARDCASE('3QbcAsYsg7Hvx$4VHzijdF',$,'B-5','1/2IPE300','Beam',#2401,#2410,'B-5',$); +#2400=IFCBEAM('3QbcAsYsg7Hvx$4VHzijdF',$,'B-5','1/2IPE300','Beam',#2401,#2410,'B-5',$); #2401=IFCLOCALPLACEMENT(#100025,#2402); #2402=IFCAXIS2PLACEMENT3D(#2403,#2404,#2405); #2403=IFCCARTESIANPOINT((0.,6000.,1500.)); @@ -469,7 +469,7 @@ DATA; /* beam B-6 - beam axis along global x axis -------------------------------- */ /* cardinal point = 6 - mid-depth right */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#2500=IFCBEAMSTANDARDCASE('3QbcAsYsg7Hvx$4VHzij3V',$,'B-6','1/2IPE300','Beam',#2501,#2510,'B-6',$); +#2500=IFCBEAM('3QbcAsYsg7Hvx$4VHzij3V',$,'B-6','1/2IPE300','Beam',#2501,#2510,'B-6',$); #2501=IFCLOCALPLACEMENT(#100025,#2502); #2502=IFCAXIS2PLACEMENT3D(#2503,#2504,#2505); #2503=IFCCARTESIANPOINT((0.,7500.,1500.)); @@ -497,7 +497,7 @@ DATA; /* beam B-7 - beam axis along global x axis -------------------------------- */ /* cardinal point = 7 - top left */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#2600=IFCBEAMSTANDARDCASE('3QbcAsYsg7Hvx$4VHzij71',$,'B-7','1/2IPE300','Beam',#2601,#2610,'B-7',$); +#2600=IFCBEAM('3QbcAsYsg7Hvx$4VHzij71',$,'B-7','1/2IPE300','Beam',#2601,#2610,'B-7',$); #2601=IFCLOCALPLACEMENT(#100025,#2602); #2602=IFCAXIS2PLACEMENT3D(#2603,#2604,#2605); #2603=IFCCARTESIANPOINT((0.,9000.,1500.)); @@ -525,7 +525,7 @@ DATA; /* beam B-8 - beam axis along global x axis -------------------------------- */ /* cardinal point = 3 - top center */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#2700=IFCBEAMSTANDARDCASE('3QbcAsYsg7Hvx$4VHzijvb',$,'B-8','1/2IPE300','Beam',#2701,#2710,'B-8',$); +#2700=IFCBEAM('3QbcAsYsg7Hvx$4VHzijvb',$,'B-8','1/2IPE300','Beam',#2701,#2710,'B-8',$); #2701=IFCLOCALPLACEMENT(#100025,#2702); #2702=IFCAXIS2PLACEMENT3D(#2703,#2704,#2705); #2703=IFCCARTESIANPOINT((0.,10500.,1500.)); @@ -553,7 +553,7 @@ DATA; /* beam B-9 - beam axis along global x axis -------------------------------- */ /* cardinal point = 9 - top right */ /* enhanced definitions intruduced in IFC2x4 - IfcBeamStandardCase --------- */ -#2800=IFCBEAMSTANDARDCASE('3QbcAsYsg7Hvx$4VHzijp1',$,'B-9','1/2IPE300','Beam',#2801,#2810,'B-9',$); +#2800=IFCBEAM('3QbcAsYsg7Hvx$4VHzijp1',$,'B-9','1/2IPE300','Beam',#2801,#2810,'B-9',$); #2801=IFCLOCALPLACEMENT(#100025,#2802); #2802=IFCAXIS2PLACEMENT3D(#2803,#2804,#2805); #2803=IFCCARTESIANPOINT((0.,12000.,1500.)); diff --git a/Examples/Building element standard case/Examples/Column extruded solid/DocExample.xml b/Examples/Building element standard case/Examples/Column extruded solid/DocExample.xml index 3aaa395d1..000224a55 100644 --- a/Examples/Building element standard case/Examples/Column extruded solid/DocExample.xml +++ b/Examples/Building element standard case/Examples/Column extruded solid/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Building element standard case/Examples/Column extruded solid/File.ifc b/Examples/Building element standard case/Examples/Column extruded solid/File.ifc index 270be33ce..acc555e03 100644 --- a/Examples/Building element standard case/Examples/Column extruded solid/File.ifc +++ b/Examples/Building element standard case/Examples/Column extruded solid/File.ifc @@ -44,7 +44,7 @@ DATA; #207= IFCCOLUMNTYPE('3qJDCKcPj1tgEHrIL1MUed',#56,'IPE200',$,$,$,$,$,$,.COLUMN.); #208= IFCRELDEFINESBYTYPE('0QSJIMj99DcOpmktgECZT7',#56,$,$,(#210),#207); #209= IFCRELDECLARES('2RA6m5trr5aOD9rZCp3GjP',#56,$,$,#100,(#207)); -#210= IFCCOLUMNSTANDARDCASE('3S1GK_wA565RDoiWQEJc_l',#56,'IPE200',$,$,#211,#224,$,$); +#210= IFCCOLUMN('3S1GK_wA565RDoiWQEJc_l',#56,'IPE200',$,$,#211,#224,$,$); #211= IFCLOCALPLACEMENT($,#212); #212= IFCAXIS2PLACEMENT3D(#2,#214,#213); #213= IFCDIRECTION((0.0,-1.0,0.0)); diff --git a/Examples/Building element standard case/Examples/Element standard case/DocExample.xml b/Examples/Building element standard case/Examples/Element standard case/DocExample.xml index 1757f6794..d2b94fcca 100644 --- a/Examples/Building element standard case/Examples/Element standard case/DocExample.xml +++ b/Examples/Building element standard case/Examples/Element standard case/DocExample.xml @@ -1,3 +1,3 @@  - + diff --git a/Examples/Building element standard case/Examples/Element standard case/File.ifc b/Examples/Building element standard case/Examples/Element standard case/File.ifc index 790e750bd..3ee29d4a8 100644 --- a/Examples/Building element standard case/Examples/Element standard case/File.ifc +++ b/Examples/Building element standard case/Examples/Element standard case/File.ifc @@ -113,7 +113,7 @@ DATA; #133= IFCPOLYLINE((#131,#132)); #134= IFCPRODUCTDEFINITIONSHAPE($,$,(#136,#286)); #136= IFCSHAPEREPRESENTATION(#40,'Axis','Curve2D',(#133)); -#139= IFCWALLSTANDARDCASE('1T_lQ6m$P4qR0KcAT3YY$I',$,'Wall #1',$,$,#144,#165,$,.NOTDEFINED.); +#139= IFCWALL('1T_lQ6m$P4qR0KcAT3YY$I',$,'Wall #1',$,$,#144,#165,$,.NOTDEFINED.); #140= IFCRELCONNECTSELEMENTS('1RLsKjckj3fQdtZ0vyuAxn',$,$,$,$,#103,#139); #141= IFCCARTESIANPOINT((0.,0.,0.)); #142= IFCDIRECTION((0.,0.,1.)); @@ -145,7 +145,7 @@ DATA; #182= IFCPOLYLINE((#180,#181)); #183= IFCPRODUCTDEFINITIONSHAPE($,$,(#185,#337)); #185= IFCSHAPEREPRESENTATION(#40,'Axis','Curve2D',(#182)); -#188= IFCWALLSTANDARDCASE('2OY2$2dm1A$ftGfWeKdPP2',$,'Wall #2',$,$,#194,#201,$,.NOTDEFINED.); +#188= IFCWALL('2OY2$2dm1A$ftGfWeKdPP2',$,'Wall #2',$,$,#194,#201,$,.NOTDEFINED.); #189= IFCRELCONNECTSELEMENTS('3U6qRI2g1DrOShTLfYzu5s',$,$,$,$,#171,#188); #190= IFCRELCONNECTSPATHELEMENTS('3Yt2yKZ0PC78sihBJOqhfw',$,$,$,$,#139,#188,$,$,.ATSTART.,.ATEND.); #191= IFCCARTESIANPOINT((0.,144.,0.)); @@ -169,7 +169,7 @@ DATA; #218= IFCPOLYLINE((#216,#217)); #219= IFCPRODUCTDEFINITIONSHAPE($,$,(#221,#388)); #221= IFCSHAPEREPRESENTATION(#40,'Axis','Curve2D',(#218)); -#224= IFCWALLSTANDARDCASE('1Jt9WM93TEKgG1CuXB5nF1',$,'Wall #3',$,$,#230,#237,$,.NOTDEFINED.); +#224= IFCWALL('1Jt9WM93TEKgG1CuXB5nF1',$,'Wall #3',$,$,#230,#237,$,.NOTDEFINED.); #225= IFCRELCONNECTSELEMENTS('0GfQAclJ5BJQT2Hu49TMTq',$,$,$,$,#207,#224); #226= IFCRELCONNECTSPATHELEMENTS('3SYt_qPBvAfRJ7IfZwkFOq',$,$,$,$,#188,#224,$,$,.ATSTART.,.ATEND.); #227= IFCCARTESIANPOINT((192.,144.,0.)); @@ -193,7 +193,7 @@ DATA; #254= IFCPOLYLINE((#252,#253)); #255= IFCPRODUCTDEFINITIONSHAPE($,$,(#257,#439)); #257= IFCSHAPEREPRESENTATION(#40,'Axis','Curve2D',(#254)); -#260= IFCWALLSTANDARDCASE('16erZEKXDAiO2lt6Zda1bd',$,'Wall #4',$,$,#266,#273,$,.NOTDEFINED.); +#260= IFCWALL('16erZEKXDAiO2lt6Zda1bd',$,'Wall #4',$,$,#266,#273,$,.NOTDEFINED.); #261= IFCRELCONNECTSELEMENTS('1jETcAvxPDR9$Imjb25xzq',$,$,$,$,#243,#260); #262= IFCRELCONNECTSPATHELEMENTS('1j1GYReHLAMRWdpGDWIQMI',$,$,$,$,#224,#260,$,$,.ATSTART.,.ATEND.); #263= IFCCARTESIANPOINT((192.,0.,0.)); @@ -395,7 +395,7 @@ DATA; #485= IFCAXIS2PLACEMENT3D(#484,$,$); #486= IFCLOCALPLACEMENT(#78,#485); #487= IFCPRODUCTDEFINITIONSHAPE($,$,(#99,#498)); -#488= IFCSLABSTANDARDCASE('1UgW18Bgn5vhtOjA_a4Gfj',$,'Slab #1',$,$,#486,#487,$,$); +#488= IFCSLAB('1UgW18Bgn5vhtOjA_a4Gfj',$,'Slab #1',$,$,#486,#487,$,$); #489= IFCMATERIALLAYERWITHOFFSETS(#110,4.,.F.,'Body',$,$,$,.AXIS3.,(0.,0.)); #490= IFCMATERIALLAYERSET((#489),'Slab (Standard)',''); #491= IFCMATERIALLAYERSETUSAGE(#490,.AXIS1.,.POSITIVE.,0.,$); @@ -591,7 +591,7 @@ DATA; #761= IFCCARTESIANPOINT((48.,48.,0.)); #762= IFCAXIS2PLACEMENT3D(#761,#753,#754); #768= IFCOWNERHISTORY($,$,$,.DELETED.,1410987024,$,#1,0); -#777= IFCDOORSTANDARDCASE('3mlAgYRGHBfwVOt_pMmUph',$,'Door #1',$,$,#2249,#806,$,80.,32.,.NOTDEFINED.,.SINGLE_SWING_LEFT.); +#777= IFCDOOR('3mlAgYRGHBfwVOt_pMmUph',$,'Door #1',$,$,#2249,#806,$,80.,32.,.NOTDEFINED.,.SINGLE_SWING_LEFT.); #781= IFCMEASUREWITHUNIT(IFCAREAMEASURE(12.),#15); #782= IFCCONVERSIONBASEDUNIT(#14,.LENGTHUNIT.,'foot',#781); #783= IFCQUANTITYLENGTH('Width',$,#782,2.66666666666667,$); diff --git a/Examples/Building element standard case/Examples/Slab standard case/DocExample.xml b/Examples/Building element standard case/Examples/Slab standard case/DocExample.xml index 78c4291d6..3da2974fd 100644 --- a/Examples/Building element standard case/Examples/Slab standard case/DocExample.xml +++ b/Examples/Building element standard case/Examples/Slab standard case/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Building element standard case/Examples/Slab standard case/File.ifc b/Examples/Building element standard case/Examples/Slab standard case/File.ifc index 9e15b44e4..6b36a9c40 100644 --- a/Examples/Building element standard case/Examples/Slab standard case/File.ifc +++ b/Examples/Building element standard case/Examples/Slab standard case/File.ifc @@ -42,7 +42,7 @@ DATA; #205= IFCRELASSOCIATESMATERIAL('2l_enLhI93reVwnim9gXUq',#56,'MatAssoc','Material Associates',(#300),#204); #300= IFCSLABTYPE('0RSW$KKbzCZ9QaSm3GoEan',#56,'200mm Concrete',$,$,$,$,$,$,.FLOOR.); #302= IFCRELDECLARES('2Gpvcy0aXF0wUU3skbKo0s',#56,$,$,#100,(#300)); -#303= IFCSLABSTANDARDCASE('1wAj$J2Az2V8wnBiVYd3bU',#56,$,$,$,#304,#315,$,$); +#303= IFCSLAB('1wAj$J2Az2V8wnBiVYd3bU',#56,$,$,$,#304,#315,$,$); #304= IFCLOCALPLACEMENT($,#316); #305= IFCAXIS2PLACEMENT3D(#306,$,$); #306= IFCCARTESIANPOINT((0.0,0.0,-200.0)); diff --git a/Examples/Building element standard case/Examples/Wall standard case/DocExample.xml b/Examples/Building element standard case/Examples/Wall standard case/DocExample.xml index c936fc1dc..d1800ae73 100644 --- a/Examples/Building element standard case/Examples/Wall standard case/DocExample.xml +++ b/Examples/Building element standard case/Examples/Wall standard case/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Construction scheduling/Examples/Construction scheduling task/DocExample.xml b/Examples/Construction scheduling/Examples/Construction scheduling task/DocExample.xml index 6f71f4970..5da476bce 100644 --- a/Examples/Construction scheduling/Examples/Construction scheduling task/DocExample.xml +++ b/Examples/Construction scheduling/Examples/Construction scheduling task/DocExample.xml @@ -1,5 +1,5 @@  - + diff --git a/Examples/Construction scheduling/Examples/Construction scheduling task/File.ifc b/Examples/Construction scheduling/Examples/Construction scheduling task/File.ifc index f29e2c4ed..b5341e266 100644 --- a/Examples/Construction scheduling/Examples/Construction scheduling task/File.ifc +++ b/Examples/Construction scheduling/Examples/Construction scheduling task/File.ifc @@ -116,7 +116,7 @@ DATA; #289= IFCCARTESIANPOINT((0.,192.)); #290= IFCCARTESIANPOINT((0.,0.)); #291= IFCPOLYLINE((#286,#287,#288,#289,#290)); -#292= IFCSLABSTANDARDCASE('20WrgxqpbDtferON_k1P2X',#201,'Slab #1',$,$,#352,#302,$,.BASESLAB.); +#292= IFCSLAB('20WrgxqpbDtferON_k1P2X',#201,'Slab #1',$,$,#352,#302,$,.BASESLAB.); #300= IFCGEOMETRICCURVESET((#291)); #302= IFCPRODUCTDEFINITIONSHAPE($,$,(#304,#346)); #304= IFCSHAPEREPRESENTATION(#204,'FootPrint','GeometricCurveSet',(#300)); @@ -148,7 +148,7 @@ DATA; /* Standard case walls #1 with axis and body geometry and material layer set defined ----------- */ /* --------------------------------------------------------------------------------------------- */ -#356= IFCWALLSTANDARDCASE('26tmERtwL8G8UQn5BoglEh',#201,'Wall #1',$,$,#362,#379,$,.NOTDEFINED.); +#356= IFCWALL('26tmERtwL8G8UQn5BoglEh',#201,'Wall #1',$,$,#362,#379,$,.NOTDEFINED.); #358= IFCRELCONNECTSELEMENTS('2ZHJEGFvL98QhEDnQsGNrK',#201,$,$,$,#292,#356); #359= IFCCARTESIANPOINT((0.,0.,6.)); #360= IFCDIRECTION((0.,0.,1.)); @@ -180,7 +180,7 @@ DATA; /* Standard case walls #2 with axis and body geometry and material layer set defined ----------- */ /* --------------------------------------------------------------------------------------------- */ -#385= IFCWALLSTANDARDCASE('2qqyx9mIf27vQuEGt7ts8$',#201,'Wall #2',$,$,#394,#401,$,.NOTDEFINED.); +#385= IFCWALL('2qqyx9mIf27vQuEGt7ts8$',#201,'Wall #2',$,$,#394,#401,$,.NOTDEFINED.); #387= IFCRELCONNECTSELEMENTS('04lBS8dRv8082xho3Ve2L0',#201,$,$,$,#292,#385); #388= IFCRELCONNECTSPATHELEMENTS('2aU84ph_f2iwRK7mEx6APn',#201,$,$,$,#356,#385,(),(),.ATSTART.,.ATEND.); #391= IFCCARTESIANPOINT((0.,192.,6.)); @@ -207,7 +207,7 @@ DATA; /* Standard case walls #3 with axis and body geometry and material layer set defined ----------- */ /* --------------------------------------------------------------------------------------------- */ -#407= IFCWALLSTANDARDCASE('0edwXkNgP03AySQjQQlat2',#201,'Wall #3',$,$,#416,#423,$,.NOTDEFINED.); +#407= IFCWALL('0edwXkNgP03AySQjQQlat2',#201,'Wall #3',$,$,#416,#423,$,.NOTDEFINED.); #409= IFCRELCONNECTSELEMENTS('1_c3omXFD7UPfF9thiXwlM',#201,$,$,$,#292,#407); #410= IFCRELCONNECTSPATHELEMENTS('3cHo0l0vT7YecRcCZH80A_',#201,$,$,$,#385,#407,(),(),.ATSTART.,.ATEND.); #413= IFCCARTESIANPOINT((288.,192.,6.)); @@ -234,7 +234,7 @@ DATA; /* Standard case walls #4 with axis and body geometry and material layer set defined ----------- */ /* --------------------------------------------------------------------------------------------- */ -#429= IFCWALLSTANDARDCASE('27D5wuD5z86hr07xvbZLKW',#201,'Wall #4',$,$,#438,#445,$,.NOTDEFINED.); +#429= IFCWALL('27D5wuD5z86hr07xvbZLKW',#201,'Wall #4',$,$,#438,#445,$,.NOTDEFINED.); #431= IFCRELCONNECTSELEMENTS('2GwDyB_Xb1mBzqynA5hpmk',#201,$,$,$,#292,#429); #432= IFCRELCONNECTSPATHELEMENTS('0N2CJ8VSz1yx6iStYDzqLN',#201,$,$,$,#407,#429,(),(),.ATSTART.,.ATEND.); #435= IFCCARTESIANPOINT((288.,0.,6.)); diff --git a/Examples/Mapped geometric shape/DocExample.xml b/Examples/Mapped geometric shape/DocExample.xml index e55b50d84..885ec0b08 100644 --- a/Examples/Mapped geometric shape/DocExample.xml +++ b/Examples/Mapped geometric shape/DocExample.xml @@ -3,6 +3,7 @@ + diff --git a/Examples/Mapped geometric shape/Examples/Mapped shape with multiple items/DocExample.xml b/Examples/Mapped geometric shape/Examples/Mapped shape with multiple items/DocExample.xml index 8d72cda03..dab1eac76 100644 --- a/Examples/Mapped geometric shape/Examples/Mapped shape with multiple items/DocExample.xml +++ b/Examples/Mapped geometric shape/Examples/Mapped shape with multiple items/DocExample.xml @@ -6,6 +6,7 @@ + diff --git a/Examples/Mapped geometric shape/Examples/Mapped shape with transformation/DocExample.xml b/Examples/Mapped geometric shape/Examples/Mapped shape with transformation/DocExample.xml index 90e0394a5..8c78d998a 100644 --- a/Examples/Mapped geometric shape/Examples/Mapped shape with transformation/DocExample.xml +++ b/Examples/Mapped geometric shape/Examples/Mapped shape with transformation/DocExample.xml @@ -6,6 +6,7 @@ + diff --git a/Examples/Mapped geometric shape/Examples/Mapped shape without transformation/DocExample.xml b/Examples/Mapped geometric shape/Examples/Mapped shape without transformation/DocExample.xml index 6e74da368..02bdb266d 100644 --- a/Examples/Mapped geometric shape/Examples/Mapped shape without transformation/DocExample.xml +++ b/Examples/Mapped geometric shape/Examples/Mapped shape without transformation/DocExample.xml @@ -6,6 +6,7 @@ + diff --git a/Examples/Placements and GIS referencing/DocExample.xml b/Examples/Placements and GIS referencing/DocExample.xml index 09627ae3f..7a65b61df 100644 --- a/Examples/Placements and GIS referencing/DocExample.xml +++ b/Examples/Placements and GIS referencing/DocExample.xml @@ -1,7 +1,9 @@  + + diff --git a/Examples/Placements and GIS referencing/Examples/Geographic referencing GK/DocExample.xml b/Examples/Placements and GIS referencing/Examples/Geographic referencing GK/DocExample.xml new file mode 100644 index 000000000..920e88668 --- /dev/null +++ b/Examples/Placements and GIS referencing/Examples/Geographic referencing GK/DocExample.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Examples/Placements and GIS referencing/Examples/Geographic referencing GK/Documentation.md b/Examples/Placements and GIS referencing/Examples/Geographic referencing GK/Documentation.md new file mode 100644 index 000000000..3fd67d74c --- /dev/null +++ b/Examples/Placements and GIS referencing/Examples/Geographic referencing GK/Documentation.md @@ -0,0 +1,3 @@ +This example illustrates 3D placement based on geographic referencing. + +!["Geographic referencing"](../../../../figures/examples/georeference_tessellation_gk_v1.png "Figure 1 — Geographic referencing") diff --git a/Examples/Placements and GIS referencing/Examples/Geographic referencing GK/File.ifc b/Examples/Placements and GIS referencing/Examples/Geographic referencing GK/File.ifc new file mode 100644 index 000000000..e24e37da0 --- /dev/null +++ b/Examples/Placements and GIS referencing/Examples/Geographic referencing GK/File.ifc @@ -0,0 +1,81 @@ +ISO-10303-21; +HEADER; + +FILE_DESCRIPTION( +/* description */ ('GeoReference'), +/* implementation level */ '2;1'); + +FILE_NAME( +/* name */ 'GeoReference.ifc', +/* time_stamp */ '2017-07-10T15:03:00', +/* author */ ('Geiger'), +/* organization */ ('KIT'), +/* preprocessor_version */ 'Handmade', +/* originating_system */ '', +/* authorisation */ 'none'); + +FILE_SCHEMA (('IFC4')); +ENDSEC; + +DATA; +/* Geographic reference*/ +#1= IFCPROJECTEDCRS('EPSG:31467','DHDN / 3-Degree Gauss-Krueger Zone 3','ETRS89',$,'Gaus-Krueger','3',#3); +#2= IFCMAPCONVERSION(#100011,#1,3458715.92,5439966.65,113.7,0.270600445976,0.962691746426,$); +#3= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); + +/* BuildingElementProxy */ +#149= IFCBUILDINGELEMENTPROXY('0rBru4syGxGOZb$M8kVJuS',#100005,'Geographic Position',$,$,#121,#5037,$,$); +#121= IFCLOCALPLACEMENT(#5044,#243); +#243= IFCAXIS2PLACEMENT3D(#173,#217,#218); +#173= IFCCARTESIANPOINT((0.,0.,0.)); +#217= IFCDIRECTION((0.,0.,1.)); +#218= IFCDIRECTION((1.,0.,0.)); + +#5037= IFCPRODUCTDEFINITIONSHAPE('',$,(#5038)); +#5038= IFCSHAPEREPRESENTATION(#100011,'Body','Tessellation',(#5000)); + +/* Tesselated geometry */ +#5000= IFCTRIANGULATEDFACESET(#5001,$,.T.,((1,3,2),(1,4,3),(1,5,4),(1,2,5),/*(2,3,4),(4,5,2),*/(2,3,6),(3,7,6),(3,4,7),(4,8,7),(4,5,8),(5,9,8),(5,2,9),(2,6,9),(6,7,8),(6,8,9)),$); +#5001= IFCCARTESIANPOINTLIST3D(((0.0,0.0,0.0),(-500.0,-500.0,2000.0),(500.0,-500.0,2000.0),(500.0,500.0,2000.0),(-500.0,500.0,2000.0),(-500.0,-500.0,4000.0),(500.0,-500.0,4000.0),(500.0,500.0,4000.0),(-500.0,500.0,4000.0))); + +/* BuildingStorey */ +#5043= IFCBUILDINGSTOREY('3_fv_WeK63IPclwapZa9MD',#100005,'Storey 1',$,$,#5044,$,$,.ELEMENT.,-1.6); +#5044= IFCLOCALPLACEMENT(#100025,#100040); +#5045= IFCRELCONTAINEDINSPATIALSTRUCTURE('2lLFgu3KhSGw4jMC3$Ak50',#100005,'Storey 1',$,(#149),#5043); +#5046= IFCRELAGGREGATES('3INy2PAPGPJ8Dpwhrq610o',#100005,'All stories',$,#100023,(#5043)); + +/* Person, Org, App, Project */ +#100001= IFCPERSON($,'AGeiger',$,$,$,$,$,$); +#100002= IFCORGANIZATION($,'KIT',$,$,$); +#100003= IFCPERSONANDORGANIZATION(#100001,#100002,$); +#100004= IFCAPPLICATION(#100002,'Unknown','IFCExplorer','Unknown'); +#100005= IFCOWNERHISTORY(#100003,#100004,$,.NOTDEFINED.,$,$,$,1122650864); +#100010= IFCPROJECT('01JwSt5ycUHvKFlMZUleKS',#100005,'Notch',$,$,$,$,(#100011),#100060); +#100011= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.0E-5,#100040,$); + +/* Site */ +#100020= IFCSITE('1BPCQAtTW7GhKrUF$Sytrr',#100005,'Site',$,$,#100022,$,$,.ELEMENT.,(49,5,43,983700),(8,26,1,247300),113.7,$,$); +#100021= IFCRELAGGREGATES('2vOmTZNmbvJAJRbSGMMNrC',#100005,$,$,#100010,(#100020)); +#100022= IFCLOCALPLACEMENT($,#100040); + +/* Building */ +#100023= IFCBUILDING('0cVTYHAI3nGeTXA2X4Gxyo',#100005,'Building',$,$,#100025,$,$,.ELEMENT.,$,$,$); +#100024= IFCRELAGGREGATES('1F_GRhxz1GJgGgcJgzjvKX',#100005,$,$,#100020,(#100023)); +#100025= IFCLOCALPLACEMENT(#100022,#100040); + +/* Placement */ +#100040= IFCAXIS2PLACEMENT3D(#100041,#100044,#100042); +#100041= IFCCARTESIANPOINT((0.,0.,0.)); +#100042= IFCDIRECTION((1.,0.,0.)); +#100044= IFCDIRECTION((0.,0.,1.)); + +/* Units */ +#100060= IFCUNITASSIGNMENT((#100061,#100062,#100063,#100064)); +#100061= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#100062= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#100063= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#100064= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); + +ENDSEC; + +END-ISO-10303-21; diff --git a/Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/DocExample.xml b/Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/DocExample.xml new file mode 100644 index 000000000..51b0ca1af --- /dev/null +++ b/Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/DocExample.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/Documentation.md b/Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/Documentation.md new file mode 100644 index 000000000..73a25658d --- /dev/null +++ b/Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/Documentation.md @@ -0,0 +1,3 @@ +This example illustrates 3D placement based on geographic referencing. + +!["Geographic referencing"](../../../../figures/examples/georeference_tessellation_utm_v1.png "Figure 1 — Geographic referencing") diff --git a/Examples/Placements and GIS referencing/Examples/Geographic referencing/File.ifc b/Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/File.ifc similarity index 78% rename from Examples/Placements and GIS referencing/Examples/Geographic referencing/File.ifc rename to Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/File.ifc index 3acac392e..aa2f7c205 100644 --- a/Examples/Placements and GIS referencing/Examples/Geographic referencing/File.ifc +++ b/Examples/Placements and GIS referencing/Examples/Geographic referencing UTM/File.ifc @@ -7,7 +7,7 @@ FILE_DESCRIPTION( FILE_NAME( /* name */ 'GeoReference.ifc', -/* time_stamp */ '2014-08-22T15:03:00', +/* time_stamp */ '2017-07-10T15:03:00', /* author */ ('Geiger'), /* organization */ ('KIT'), /* preprocessor_version */ 'Handmade', @@ -20,7 +20,7 @@ ENDSEC; DATA; /* Geographic reference*/ #1= IFCPROJECTEDCRS('EPSG:25832','UTM in band 32','ETRS89',$,'UTM','UTM32',#3); -#2= IFCMAPCONVERSION(#100011,#1,458658.78,5438232.79,113.7,0.270600445976,0.962691746426,$); +#2= IFCMAPCONVERSION(#100011,#1,458657.30,5438232.25,113.7,0.270600445976,0.962691746426,$); #3= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); /* BuildingElementProxy */ @@ -32,23 +32,11 @@ DATA; #218= IFCDIRECTION((1.,0.,0.)); #5037= IFCPRODUCTDEFINITIONSHAPE('',$,(#5038)); -#5038= IFCSHAPEREPRESENTATION(#100011,'Body','CSG',(#5000,#6000)); +#5038= IFCSHAPEREPRESENTATION(#100011,'Body','Tessellation',(#5000)); -/* Cone geometry */ -#5000= IFCCSGSOLID(#5001); -#5001= IFCRIGHTCIRCULARCONE(#5002, 500., 150.); -#5002= IFCAXIS2PLACEMENT3D(#5003,#5005,#5004); -#5003= IFCCARTESIANPOINT((0.,0.,500.)); -#5004= IFCDIRECTION((-1.,0.,0.)); -#5005= IFCDIRECTION((0.,0.,-1.)); - -/* Cylinder geometry */ -#6000= IFCCSGSOLID(#6001); -#6001= IFCRIGHTCIRCULARCYLINDER(#6002, 500., 50.); -#6002= IFCAXIS2PLACEMENT3D(#6003,#6005,#6004); -#6003= IFCCARTESIANPOINT((0.,0.,500.)); -#6004= IFCDIRECTION((1.,0.,0.)); -#6005= IFCDIRECTION((0.,0.,1.)); +/* Tesselated geometry */ +#5000= IFCTRIANGULATEDFACESET(#5001,$,.T.,((1,3,2),(1,4,3),(1,5,4),(1,2,5),/*(2,3,4),(4,5,2),*/(2,3,6),(3,7,6),(3,4,7),(4,8,7),(4,5,8),(5,9,8),(5,2,9),(2,6,9),(6,7,8),(6,8,9)),$); +#5001= IFCCARTESIANPOINTLIST3D(((0.0,0.0,0.0),(-500.0,-500.0,2000.0),(500.0,-500.0,2000.0),(500.0,500.0,2000.0),(-500.0,500.0,2000.0),(-500.0,-500.0,4000.0),(500.0,-500.0,4000.0),(500.0,500.0,4000.0),(-500.0,500.0,4000.0))); /* BuildingStorey */ #5043= IFCBUILDINGSTOREY('3_fv_WeK63IPclwapZa9MD',#100005,'Storey 1',$,$,#5044,$,$,.ELEMENT.,-1.6); @@ -66,7 +54,7 @@ DATA; #100011= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.0E-5,#100040,$); /* Site */ -#100020= IFCSITE('1BPCQAtTW7GhKrUF$Sytrr',#100005,'Site',$,$,#100022,$,$,.ELEMENT.,(49,5,44,124),(8,26,1,320000),113.7,$,$); +#100020= IFCSITE('1BPCQAtTW7GhKrUF$Sytrr',#100005,'Site',$,$,#100022,$,$,.ELEMENT.,(49,5,43,983700),(8,26,1,247300),113.7,$,$); #100021= IFCRELAGGREGATES('2vOmTZNmbvJAJRbSGMMNrC',#100005,$,$,#100010,(#100020)); #100022= IFCLOCALPLACEMENT($,#100040); diff --git a/Examples/Placements and GIS referencing/Examples/Geographic referencing/Documentation.md b/Examples/Placements and GIS referencing/Examples/Geographic referencing/Documentation.md deleted file mode 100644 index 22083fa9a..000000000 --- a/Examples/Placements and GIS referencing/Examples/Geographic referencing/Documentation.md +++ /dev/null @@ -1 +0,0 @@ -This example illustrates 3D placement based on geographic referencing. diff --git a/Examples/Tessellated shape with style/DocExample.xml b/Examples/Tessellated shape with style/DocExample.xml index ace0e6ed8..e8e674e58 100644 --- a/Examples/Tessellated shape with style/DocExample.xml +++ b/Examples/Tessellated shape with style/DocExample.xml @@ -1,7 +1,9 @@  + + diff --git a/Examples/Tessellated shape with style/Examples/Tessellation with image texture/File.ifc b/Examples/Tessellated shape with style/Examples/Tessellation with image texture/File.ifc index fe525b956..f9099f8a4 100644 --- a/Examples/Tessellated shape with style/Examples/Tessellation with image texture/File.ifc +++ b/Examples/Tessellated shape with style/Examples/Tessellation with image texture/File.ifc @@ -65,7 +65,7 @@ DATA; #54= IFCSURFACESTYLERENDERING(#56,$,$,$,$,$,$,$,.NOTDEFINED.); #55= IFCSURFACESTYLEWITHTEXTURES((#57)); #56= IFCCOLOURRGB($,1.,1.,1.); -#57= IFCIMAGETEXTURE(.T.,.T.,'TEXTURE',#58,$,'C:\\dev\\Constructivity\\Constructivity.Renderer.Mono\\Textures\\diagnostic.png'); +#57= IFCIMAGETEXTURE(.T.,.T.,'TEXTURE',#58,$,'texture.png'); #58= IFCCARTESIANTRANSFORMATIONOPERATOR2D(#59,$,#60,48.); #59= IFCDIRECTION((1.,0.)); #60= IFCCARTESIANPOINT((0.,0.)); diff --git a/Examples/Tessellated shape with style/Examples/Tessellation with individual colors/DocExample.xml b/Examples/Tessellated shape with style/Examples/Tessellation with individual colors/DocExample.xml index 2afed6b96..80b4d447d 100644 --- a/Examples/Tessellated shape with style/Examples/Tessellation with individual colors/DocExample.xml +++ b/Examples/Tessellated shape with style/Examples/Tessellation with individual colors/DocExample.xml @@ -6,6 +6,7 @@ + diff --git a/ModelViews/Design Transfer View/DocModelView.xml b/ModelViews/Design Transfer View/DocModelView.xml index 1235af4c8..137f7fb21 100644 --- a/ModelViews/Design Transfer View/DocModelView.xml +++ b/ModelViews/Design Transfer View/DocModelView.xml @@ -8,16 +8,16 @@ - + - The _IfcBeamStandardCase_ defines in addition that the _IfcBeamType_ should have a unique _IfcMaterialProfileSet_, that is referenced by the _IfcMaterialProfileSetUsage_ that is assigned to all occurrences of this _IfcBeamType_. + An _IfcBeam_ may be defined parametrically according to its cross section where the _IfcBeamType_ should have a unique _IfcMaterialProfileSet_, that is referenced by the _IfcMaterialProfileSetUsage_ that is assigned to all occurrences of this _IfcBeamType_. <table> <tr> <td><img src="../../figures/ifcbeamstandardcase-01.png" height="500" width="500" alt="Material profile set and usage"></td> - <td><blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates assignment of <em>IfcMaterialProfileSetUsage</em> and <em>IfcMaterialProfileSet</em> to the <em>IfcBeamStandardCase</em> as the beam occurrence and to the <em>IfcBeamType</em>. The same <em>IfcMaterialProfileSet</em> shall be shared by many occurrences of <em>IfcMaterialProfileSetUsage</em>. This relationship shall be consistent to the relationship between the <em>IfcBeamType</em> and the <em>IfcBeamStandardCase</em>.</blockquote> + <td><blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates assignment of <em>IfcMaterialProfileSetUsage</em> and <em>IfcMaterialProfileSet</em> to the <em>IfcBeam</em> as the beam occurrence and to the <em>IfcBeamType</em>. The same <em>IfcMaterialProfileSet</em> shall be shared by many occurrences of <em>IfcMaterialProfileSetUsage</em>. This relationship shall be consistent to the relationship between the <em>IfcBeamType</em> and the <em>IfcBeam</em>.</blockquote> </td> </tr> @@ -153,7 +153,7 @@ The following interpretation of dimension parameter applies for circular beams: * **Solid Position** : The _IfcSweptAreaSolid.Position_ shall exclusively been used to correspond to the cardinal point. The x/y offset of the _Position_ represents the cardinal point offset of the profile against the axis. No rotation shall be allowed. * **Profile**: all subtypes of _IfcProfileDef_ (with exception of _IfcArbitraryOpenProfileDef_) * **Profile Position** : For all single profiles, the _IfcParameterizedProfileDef.Position_ shall be NIL, or having _Location_ = 0.,0. and _RefDirection_ = 1.,0. - + The following additional constraints apply to the 'AdvancedSweptSolid' representation type: @@ -164,7 +164,7 @@ The following interpretation of dimension parameter applies for circular beams: * **Profile Position** : For all single profiles, the _IfcParameterizedProfileDef.Position_ shall be NIL, or having _Location_ = 0.,0. and _RefDirection_ = 1.,0. > NOTE&nbsp; Using _IfcExtrudedAreaSolidTapered_, or _IfcRevolvedAreaSolidTapered_ requires the use of two _IfcMaterialProfile_'s within the _IfcMaterialProfileSetUsageTapering_ assinged to the _IfcBeamStandardCase_ - + The following constraints apply to the 'Clipping' representation: @@ -182,38 +182,8 @@ Figure 1 illustrates a 'Clipping' geometric representation with use of !["clipped beam"](../../figures/ifcbeamstandardcase_clipping-01.png "Figure 1 &mdash; Beam body clipping") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -221,10 +191,6 @@ Figure 1 illustrates a 'Clipping' geometric representation with use of The material of the _IfcBeamType_ is defined by the _IfcMaterialProfileSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. -> NOTE&nbsp; It is illegal to assign an _IfcMaterial_ to an _IfcBeamType_, if there is at least one occurrence of _IfcBeamStandardCase_ for this type. - -The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ (see material use definition above). The _IfcMaterialProfile_ refers to the subtype of _IfcProfileDef_ that is the common profile for all beam occurrence, if used. It is only applicable if the _IfcBeamType_ has only occurrences of type _IfcBeamStandardCase_ (see definition of _IfcBeamStandardCase_ for further information). - > NOTE&nbsp; The attribute _ProfileName_ of the _IfcProfileDef_ subtype, referenced in _IfcMaterialProfile_ should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (such as _IfcExtrudedAreaSolid_). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric _IfcProfileProperties_ have to be used. @@ -274,12 +240,12 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - + - The _IfcColumnStandardCase_ defines in addition that the _IfcColumnType_ should have a unique _IfcMaterialProfileSet_, that is referenced by the _IfcMaterialProfileSetUsage_ assigned to all occurrences of this _IfcColumnType_. Composite profile columns can be represented by refering to several _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ that is referenced from the _IfcMaterialProfileSetUsage_. + An _IfcColumn_ may be defined parametrically according to its cross section where the _IfcColumnType_ should have a unique _IfcMaterialProfileSet_, that is referenced by the _IfcMaterialProfileSetUsage_ assigned to all occurrences of this _IfcColumnType_. Composite profile columns can be represented by refering to several _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ that is referenced from the _IfcMaterialProfileSetUsage_. -Figure 1 illustrates assignment of _IfcMaterialProfileSetUsage_ and _IfcMaterialProfileSet_ to the _IfcColumnStandardCase_ as the column occurrence and to the _IfcColumnType_. The same _IfcMaterialProfileSet_ shall be shared by many occurrences of _IfcMaterialProfileSetUsage_. This relationship shall be consistent to the relationship between the _IfcColumnType_ and the _IfcColumnStandardCase_. +Figure 1 illustrates assignment of _IfcMaterialProfileSetUsage_ and _IfcMaterialProfileSet_ to the _IfcColumn_ as the column occurrence and to the _IfcColumnType_. The same _IfcMaterialProfileSet_ shall be shared by many occurrences of _IfcMaterialProfileSetUsage_. This relationship shall be consistent to the relationship between the _IfcColumnType_ and the _IfcColumn_. !["Material profile set and usage"](../../figures/ifccolumnstandardcase-01.png "Figure 1 &mdash; Column profile usage") @@ -389,7 +355,7 @@ The following interpretation of dimension parameter applies for circular columns * **Solid**: _IfcSurfaceCurveSweptAreaSolid_, _IfcFixedReferenceSweptAreaSolid_, shall be supported. * **Profile**: all subtypes of _IfcProfileDef_ (with exception of _IfcArbitraryOpenProfileDef_) * **Profile Position** : For all single profiles, the _IfcParameterizedProfileDef.Position_ shall be NIL, or having _Location_ = 0.,0. and _RefDirection_ = 1.,0. - + The following additional constraints apply to the 'AdvancedSweptSolid' representation type: @@ -399,7 +365,7 @@ The following interpretation of dimension parameter applies for circular columns * **Profile Position** : For all single profiles, the _IfcParameterizedProfileDef.Position_ shall be NIL, or having _Location_ = 0.,0. and _RefDirection_ = 1.,0. > NOTE&nbsp; Using _IfcExtrudedAreaSolidTapered_, or _IfcRevolvedAreaSolidTapered_ requires the use of two _IfcMaterialProfile_'s within the _IfcMaterialProfileSetUsageTapering_ assinged to the _IfcColumnStandardCase_ - + The following constraints apply to the 'Clipping' representation: @@ -416,38 +382,8 @@ Figure 1 illustrates a 'Clipping' geometric representation with use of !["clipped column"](../../figures/ifccolumnstandardcase_clipping-01.png "Figure 1 &mdash; Column body clipping") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -455,10 +391,6 @@ Figure 1 illustrates a 'Clipping' geometric representation with use of The material of the _IfcColumnType_ is defined by the _IfcMaterialProfileSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. -> NOTE&nbsp; It is illegal to assign an _IfcMaterial_ to an _IfcColumnType_, if there is at least one occurrences of _IfcColumnStandardCase_ for this type. - -The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ (see material use definition above). The _IfcMaterialProfile_ refers to the subtype of _IfcProfileDef_ that is the common profile for all column occurrence, if used. It is only applicable if the _IfcColumnType_ has only occurrences of type _IfcColumnStandardCase_ (see definition of _IfcColumnStandardCase_ for further information). - > NOTE&nbsp; The attribute _ProfileName_ of the _IfcProfileDef_ subtype, referenced in _IfcMaterialProfile_ should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (e.g. as _IfcExtrudedAreaSolid_). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric _IfcProfileProperties_ have to be used. @@ -515,7 +447,7 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - + The door profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric door representation. The following attribute values for the _IfcShapeRepresentation_ holding this geometric representation shall be used: @@ -585,7 +517,7 @@ height. Distance to the centre line of the transom.</li> - + @@ -823,10 +755,10 @@ The material is attached by the _RelatingMaterial_ attribute on the [IfcRelAssoc - + - Figure 1 illustrates assignment of _IfcMaterialProfileSetUsage_ and _IfcMaterialProfileSet_ to the _IfcMemberStandardCase_ as the member occurrence and to the _IfcMemberType_. The same _IfcMaterialProfileSet_ shall be shared by many occurrences of _IfcMaterialProfileSetUsage_. This relationship shall be consistent to the relationship between the _IfcMemberType_ and the _IfcMemberStandardCase_. + Figure 1 illustrates assignment of _IfcMaterialProfileSetUsage_ and _IfcMaterialProfileSet_ to the _IfcMember_ as the member occurrence and to the _IfcMemberType_. The same _IfcMaterialProfileSet_ shall be shared by many occurrences of _IfcMaterialProfileSetUsage_. This relationship shall be consistent to the relationship between the _IfcMemberType_ and the _IfcMember_. !["Material profile set and usage"](../../figures/ifcmemberstandardcase-01.png "Figure 1 &mdash; Member profile usage") @@ -834,7 +766,7 @@ Figure 2 illustrates assignment of a composite profile by using _IfcCompositePro !["Material profile set and usage"](../../figures/ifcmemberstandardcase-02.png "Figure 2 &mdash; Member composite profiles") -The material of the _IfcMemberStandardCase_ is defined by _IfcMaterialProfileSetUsage_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. Composite profile members can be represented by refering to several _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ that is referenced from the _IfcMaterialProfileSetUsage_. +The material of the _IfcMember_ is defined by _IfcMaterialProfileSetUsage_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. Composite profile members can be represented by refering to several _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ that is referenced from the _IfcMaterialProfileSetUsage_. Material information can also be given at the _IfcMemberType_, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse _IsDefinedBy_ relationship pointing to _IfcMemberType.HasAssociations_ and via _IfcRelAssociatesMaterial.RelatingMaterial_. See **Type Use Definition** for additional agreements for standard members. @@ -934,7 +866,7 @@ The following interpretation of dimension parameter applies for circular members * **Profile Position** : For all single profiles, the _IfcParameterizedProfileDef.Position_ shall be NIL, or having _Location_ = 0.,0. and _RefDirection_ = 1.,0. > NOTE&nbsp; Using _IfcExtrudedAreaSolidTapered_, or _IfcRevolvedAreaSolidTapered_ requires the use of two _IfcMaterialProfile_'s within the _IfcMaterialProfileSetUsageTapering_ assinged to the _IfcMemberStandardCase_ - + The following additional constraints apply to the 'AdvancedSweptSolid' representation type: @@ -944,7 +876,7 @@ The following interpretation of dimension parameter applies for circular members * **Profile Position** : For all single profiles, the _IfcParameterizedProfileDef.Position_ shall be NIL, or having _Location_ = 0.,0. and _RefDirection_ = 1.,0. > NOTE&nbsp; Using _IfcExtrudedAreaSolidTapered_, or _IfcRevolvedAreaSolidTapered_ requires the use of two _IfcMaterialProfile_'s within the _IfcMaterialProfileSetUsageTapering_ assinged to the _IfcMemberStandardCase_ - + The following constraints apply to the advanced representation: @@ -960,38 +892,8 @@ Figure 1 illustrates an advanced geometric representation with use of _IfcBoolea !["clipped beam"](../../figures/ifcbeamstandardcase_clipping-01.png "Figure 1 &mdash; Member body clipping") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -999,10 +901,6 @@ Figure 1 illustrates an advanced geometric representation with use of _IfcBoolea The material of the _IfcMemberType_ is defined by the _IfcMaterialProfileSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. -> NOTE&nbsp; It is illegal to assign an _IfcMaterial_ to an _IfcMemberType_, if there is at least one occurrences of _IfcMemberStandardCase_ for this type. - -The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ (see material use definition above). The _IfcMaterialProfile_ refers to the subtype of _IfcProfileDef_ that is the common profile for all member occurrence, if used. It is only applicable if the _IfcMemberType_ has only occurrences of type _IfcMemberStandardCase_ (see definition of _IfcMemberStandardCase_ for further information). - > NOTE&nbsp; The attribute _ProfileName_ of the _IfcProfileDef_ subtype, referenced in _IfcMaterialProfile_ should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (e.g. as _IfcExtrudedAreaSolid_). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric _IfcProfileProperties_ have to be used. @@ -1019,10 +917,6 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - - - - @@ -1051,7 +945,7 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - + @@ -1086,7 +980,7 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - + The material of the _IfcPlateStandardCase_ is defined by _IfcMaterialLayerSetUsage_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. Multi-layer plates can be represented by refering to several _IfcMaterialLayer_'s within the _IfcMaterialLayerSet_ that is referenced from the _IfcMaterialLayerSetUsage_.&nbsp; @@ -1198,38 +1092,8 @@ As shown in Figure 106, the following conventions shall be met: </table> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1292,6 +1156,15 @@ The shared material layer set definition is defined by assigning an _IfcMaterial + + + + + + + + + @@ -1315,47 +1188,7 @@ The shared material layer set definition is defined by assigning an _IfcMaterial - Elemented slabs extend the concepts of standard slabs with the following features, as shown in Figure 234: - -* The slab has a type (_IfcSlabType_) that indicates material layers and corresponding elements to be placed parametrically. -* The slab is decomposed into elements for part occurrences, each corresponding to parts defined at the slab type. -* The relationship _IfcRelConnectsWithRealizingElements_ indicates how parts are connected. - -!["voiding"](../../figures/ifcslabelementedcase-floor.png "Figure 1 &mdash; Slab elemented case") - - - - An elemented slab is decomposed into parts for particular components such as headers, joists, deck/subfloor, insulation, fasteners, and sealants. There must be an object corresponding to each type of part, however there may be single object instance indicating multiple placements (via mapping geometry) for each part, or multiple instances corresponding to each placement. For minimizing file size, it is recommended to use a single object with multiple placement unless there are specific connectivity relationships indicated (e.g. a duct connected to specific joists). - - - - Plywood for subfloor above. - - - Frame containing headers, joists, and possibly insulation. - - - Panels such as gypsum board for ceiling underneath. - - - - - - - - - - - - - Similar to standard slabs (_IfcSlabStandardCase_), elemented slabs are defined parametrically with _IfcMaterialLayerSetUsage_, but go into further detail, where each material layer corresponds to an aggregated part of a particular type, where such parts may be further decomposed and/or use parametric material definitions. - - - - - - - + Multi-layer slabs can be represented by refering to several _IfcMaterialLayer_'s within the _IfcMaterialLayerSet_ that is referenced from the _IfcMaterialLayerSetUsage_.&nbsp; @@ -1480,38 +1313,23 @@ Figure 2 illustrates slab material usage, where the following conventions shall </table> - - - - + + An slab may be decomposed into parts for particular components such as headers, joists, deck/subfloor, insulation, fasteners, and sealants. If a material layer set is defined, each _IfcElement_.Name shall match the corresponding _IfcMaterialLayer_.Name. - - - - - - - - - - - - - - - - - - - - - - - - + + + Plywood for subfloor above. + + + Frame containing headers, joists, and possibly insulation. + + + Panels such as gypsum board for ceiling underneath. + + - + Slab types may be described at several levels of detail to support the following slab occurrences: @@ -1531,13 +1349,7 @@ As shown in Figure 1, each material layer may be elaborated into an element (whe - The material of the _IfcSlabType_ is defined by the _IfcMaterialLayerSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. - -> NOTE&nbsp; It is illegal to assign an _IfcMaterial_ to an _IfcSlabType_, if there is at least one occurrences. of _IfcSlabStandardCase_ for this type. - -The shared material layer set definition is defined by assigning an _IfcMaterialLayerSet_ (see material use definition above). The _IfcMaterialLayer_ refers to one or several of _IfcMaterial_ that is the common for all slab occurrence, if used. It is only applicable if the _IfcSlabType_ has only occurrences of type _IfcSlabStandardCase_ (see definition of _IfcSlabStandardCase_ for further information). - -> NOTE&nbsp; Since each individual instance of _IfcSlabStandardCase_ defines its own _IfcMaterialLayerSetUsage_ including the offset from the reference plane, the same _IfcSlabType_ can be used independently of the reference plane alignment of its occurrences. + The material of the _IfcSlabType_ is defined by the _IfcMaterialLayerSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. @@ -1562,106 +1374,6 @@ The shared material layer set definition is defined by assigning an _IfcMaterial - - - > NOTE&nbsp; The 'Axis' is not used to locate the material layer set, only the subtype _IfcWallStandardCase_ provides this capability. - - - - The wall axis of the wall. - - - - - - - - Walls with equal or lower priority are connected at RelatedElement. - - - - - - - - - - - An elemented wall is decomposed into parts for particular components such as framing and panels on each side. There must be an object corresponding to each type of part, however there may be single object instance indicating multiple placements (via mapping geometry) for each part, or multiple instances corresponding to each placement. For minimizing file size, it is recommended to use a single object with multiple placement unless there are specific connectivity relationships indicated (e.g. a junction box connected to a specific stud). - - - - Frame containing studs, tracks, and possibly insulation - - - Panels on each side such as gypsum (drywall) or cement board (tile backing) with fasteners - - - - - - - - - - - - - Similar to standard walls (_IfcWallStandardCase_), elemented walls are defined parametrically with _IfcMaterialLayerSetUsage_, but go into further detail, where each material layer corresponds to an aggregated part of a particular type, where such parts may be further decomposed and/or use parametric material definitions. - - - - The wall axis is represented by a two-dimensional open curve within a particular shape representation. The wall axis is used to apply the material layer set usage parameter to the wall geometry. - -* _Axis_ - * _IfcPolyline_ having two _Points_, or _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcLine_ for the 'SweptSolid' provided as _IfcExtrudedAreaSolid_. The axis curve lies on the x/y plane and is parallel to the x-axis of the object coordinate system. - * _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcCircle_ for 'SweptSolid' provided as _IfcExtrudedAreaSolid_. The axis curve lies on the x/y plane of the object coordinate system, the tangent at the start is along the positive x-axis. - -&nbsp; - -<table cellpadding="2" cellspacing="2"> - - <tr> - - <td align="left" valign="top"><img src="../../figures/ifcwallstandard_straigthwall_01-layout1.gif" alt="straight wall axis" border="0" height="299" width="393"></td> - - <td><blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates an axis representation for a straight wall. In case of a straight wall, the set of items shall -include a single geometric representation item of type <em>IfcPolyline</em> or <em>IfcTrimmedCurve</em> with the <em>BasisCurve</em> being an <em>IfcLine</em>. The <em>IfcPolyline</em> or <em>IfcTrimmedCurve</em> shall be parallel (here in a special case co-linear) to the x-axis -of the object coordinate system. The direction shall be identical to the direction of the x-axis.</blockquote> - - </td> - </tr> - <tr> - <td width="393"><p class="figure">Figure 1 &mdash; Wall axis straight</p></td> - - <td>&nbsp;</td> - </tr> -</table> - -<table cellpadding="2" cellspacing="2"> - - <tr> - - <td align="left" valign="top"><img src="../../figures/ifcwallstandard_curvedwall_01-layout1.gif" alt="curved wall axis" border="0" height="299" width="393"></td> - - <td><blockquote class="example">EXAMPLE&nbsp; Figure 2 illustrates an axis representation for a curved wall. In case of a curved wall, the set of items shall include -a single geometric representation item of type <em>IfcTrimmedCurve</em>. The curve shall have a <em>BasisCurve</em> of type <em>IfcCircle</em>. The tangent of the <em>IfcTrimmedCurve</em> shall be parallel at start to the x-axis of the object coordinate system. The direction shall be identical to the direction of the x-axis.</blockquote> - </td></tr> - -<tr> - <td width="393"><p class="figure">Figure 2 &mdash; Wall axis curved</p></td> - <td>&nbsp;</td> - -</tr> - -</table> - - - - - - - Multi-layer walls can be represented by refering to several _IfcMaterialLayer_'s within the _IfcMaterialLayerSet_ that is referenced from the _IfcMaterialLayerSetUsage_.&nbsp; @@ -1815,32 +1527,43 @@ Figure 2 illustrates a clipping for a curved wall using an _IfcHalfSpaceSolid_ a </table> - - - - - - - - - - - - - - - - + + A wall may be decomposed into parts for particular components such as framing and panels on each side. If a material layer set is defined, each _IfcElement_.Name shall match the corresponding _IfcMaterialLayer_.Name. + + + Frame containing studs, tracks, and possibly insulation + + + Panels on each side such as gypsum (drywall) or cement board (tile backing) with fasteners + + - - + + + + + + + + > NOTE&nbsp; The 'Axis' is not used to locate the material layer set, only the subtype _IfcWallStandardCase_ provides this capability. + + + + The wall axis of the wall. + + - - + + + + + Walls with equal or lower priority are connected at RelatedElement. + + - + Wall types may be described at several levels of detail to support the following wall occurrences: @@ -1862,31 +1585,9 @@ As shown in Figure 1, each material layer may be elaborated into an element (whe The material of the _IfcWallType_ is defined by the _IfcMaterialLayerSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. -> NOTE&nbsp; It is illegal to assign an _IfcMaterial_ to an _IfcWallType_, if there is at least one occurrence of _IfcWallStandardCase_ for this type. +The shared material layer set definition is defined by assigning an _IfcMaterialLayerSet_ (see material use definition above). The _IfcMaterialLayer_ refers to one or several of _IfcMaterialLayer_ that is the common for all wall occurrence, if used. -The shared material layer set definition is defined by assigning an _IfcMaterialLayerSet_ (see material use definition above). The _IfcMaterialLayer_ refers to one or several of _IfcMaterialLayer_ that is the common for all wall occurrence, if used. It is only applicable if the _IfcWallType_ has only occurrences of type _IfcWallStandardCase_ (see definition of _IfcWallStandardCase_ for further information). - -> NOTE&nbsp; Since each individual instance of _IfcWallStandardCase_ defines its own _IfcMaterialLayerSetUsage_ including the offset from the wall axis, the same _IfcWallType_ can be used independently of the axis alignment of its occurrences. - -If a wall type is decomposed into parts, then material layers of the _IfcWallType_ may be driven by corresponding material layers and profiles of components, where _IfcMaterialLayer_.Name refers to _IfcElement_.Name. The ordering of layers is preserved by the layer set, while the thicknesses of each layer are calculated according to the material layer/profile geometry of the parts. - -The following is an example of a framed wall composition, where layers are ordered in the direction away from the viewer facing the right side of the wall: - -{ .gridtable} -<table class="gridtable"> -<tr><th>#</th><th>Layer/Element Name</th><th>Element Type</th><th>Description</th></tr> -<tr><td>1</td><td>Forward Panels</td><td><i>IfcPlate</i></td><td>Panels on right side of wall (looking in direction of axis) such as gypsum board or cement board.</td></tr> -<tr><td>2</td><td>Frame</td><td><i>IfcElementAssembly</i></td><td>Framing, which is decomposed into tracks, studs, and insulation. The thickness of the layer is determined according to the greatest extent by superimposing the material layers and profiles of all aggregated objects (in the absense of this <i>IfcElementAssembly</i> having its own <i>IfcMaterialLayerSet</i> defining sequential positioning of elements).<br> -<table class="gridtable"> -<tr><th>Element Name</th><th>Element Type</th><th>Material</th><th>Description</th></tr> -<tr><td>Track</td><td><i>IfcMemberStandardCase</i></td><td><i>IfcMaterialProfileSetUsage</i></td><td>Track at base and top of frame.</td></tr> -<tr><td>Stud</td><td><i>IfcMemberStandardCase</i></td><td><i>IfcMaterialProfileSetUsage</i></td><td>Studs, where <i>IfcMaterialProfileSetUsage</i>.ReferenceExtent defines the maximum height and <i>IfcMaterialProfileWithOffsets</i>.Offsets defines the stud spacing.</td></tr> -<tr><td>Insulation</td><td><i>IfcBuildingElementPart</i></td><td><i>IfcMaterialLayerSet</i></td><td>Insulation.</td></tr> -</table> - -</td></tr> -<tr><td>3</td><td>Reverse Panels</td><td><i>IfcPlate</i></td><td>Panels on left side of wall (looking in direction of axis) such as gypsum board or cement board.</td></tr> -</table> +If a wall type is decomposed into parts, then material layers of the _IfcWallType_ may be driven by corresponding material layers and profiles of components, where _IfcMaterialLayer_.Name refers to _IfcElement_.Name. The ordering of layers is preserved by the layer set, while the thicknesses of each layer are calculated according to the material layer/profile geometry of the parts. @@ -1901,7 +1602,7 @@ The following is an example of a framed wall composition, where layers are order - + The following additional constraints apply to the 'Profile' representation type: @@ -1929,7 +1630,7 @@ As shown in Figure 1, the profile defines the outer boundary to which the window - + "089504E470D0A1A0A0000000D4948445200000010000000100802000000909168360000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA8640000008749444154384F9552DB1180200CA3AEA493E91C6EE64E5A2E5C89A520FA8531AF5624AD7BFAF3880AEEEB94ED3095BEE26C20230BBE196432B6E07311388D32D8822B944AA13178AE704D68BBB56CE554413B22E676E3BD12C61A287DA5CF1C2F08D7CFADEA9678D9BC65870709BDDF0CBC2B08BB65107769E6FAA1DB28C1B9C03727CCD81BE7010F395301E94440CD0000000049454E44AE426082" diff --git a/ModelViews/Design Transfer View/Documentation.md b/ModelViews/Design Transfer View/Documentation.md index 7325fdfa7..7cb24a9a5 100644 --- a/ModelViews/Design Transfer View/Documentation.md +++ b/ModelViews/Design Transfer View/Documentation.md @@ -44,28 +44,28 @@ All geometry is supported in the Design Transfer View, including Constructive So The Design Transfer View derives from the Reference View, such that it is a superset of the Reference View. It is valid to include geometry defined within the Design Transfer View (e.g. CSG) along with geometry defined within the Reference View (e.g. tessellation). Reference View geometry may also be omitted, as it is defined as optional. -The IFC data model provides constructs for implicit and explicit parametric modeling. Explicit parametric behavior may be represented with the IFC constraint model (_IfcRelAssociatesConstraint_) to indicate product configuration tables and geometric formulas, which is out of scope for this model view. Implicit parametric behavior is based on defined rules for common elements defined by an axis path or footprint area, and may be modelled by _standard-case_ and _elemented-case_ entities. +The IFC data model provides constructs for implicit and explicit parametric modeling. Explicit parametric behavior may be represented with the IFC constraint model (_IfcRelAssociatesConstraint_) to indicate product configuration tables and geometric formulas, which is out of scope for this model view. Implicit parametric behavior is based on defined rules for common elements defined by an axis path or footprint area. -_Standard-case_ entities are defined by material configuration at type definitions (either _IfcMaterialLayerSet_, _IfcMaterialProfileSet_, or _IfcMaterialConstituentSet_, which are applied to an axis path or footprint area. Material profiles define cross sections of materials that are swept along a curve. Material layers define thicknesses of materials that fill a bounded area. _Standard-case_ entities include the following: +Elements may have parametric behaviors defined by material configuration at type definitions (either _IfcMaterialLayerSet_, _IfcMaterialProfileSet_, or _IfcMaterialConstituentSet_, which are applied to an axis path or footprint area. Material profiles define cross sections of materials that are swept along a curve. Material layers define thicknesses of materials that fill a bounded area. Applicable entities include the following: { .gridtable} Entity | Material | Representation ------ | -------- | -------------- -_IfcSlabStandardCase_ | _IfcMaterialLayerSetUsage_ | 'Footprint' -_IfcPlateStandardCase_ | _IfcMaterialLayerSetUsage_ | 'Footprint' -_IfcWallStandardCase_ | _IfcMaterialLayerSetUsage_ | 'Axis' -_IfcColumnStandardCase_ | _IfcMaterialProfileSetUsage_ | 'Axis' -_IfcBeamStandardCase_ | _IfcMaterialProfileSetUsage_ | 'Axis' -_IfcMemberStandardCase_ | _IfcMaterialProfileSetUsage_ | 'Axis' -_IfcDoorStandardCase_ | _IfcMaterialConstituentSet_ | 'Profile' -_IfcWindowStandardCase_ | _IfcMaterialConstituentSet_ | 'Profile' -_IfcOpeningStandardCase_ | _IfcMaterialConstituentSet_ | 'Profile' +_IfcSlab_ | _IfcMaterialLayerSetUsage_ | 'Footprint' +_IfcPlate_ | _IfcMaterialLayerSetUsage_ | 'Footprint' +_IfcWall_ | _IfcMaterialLayerSetUsage_ | 'Axis' +_IfcColumn_ | _IfcMaterialProfileSetUsage_ | 'Axis' +_IfcBeam_ | _IfcMaterialProfileSetUsage_ | 'Axis' +_IfcMember_ | _IfcMaterialProfileSetUsage_ | 'Axis' +_IfcDoor_ | _IfcMaterialConstituentSet_ | 'Profile' +_IfcWindow_ | _IfcMaterialConstituentSet_ | 'Profile' +_IfcOpeningElement_ | - | 'Profile' -_Elemented-case_ entities are defined by compositions of elements, where each composed element is defined by material configuration at type definitions. _Elemented-case_ entities include the following: +Elements may be further described by compositions of parts, where each composed element is defined by material configuration at type definitions. Applicable entities include the following: { .gridtable} Entity | Components ------ | ---------- -_IfcSlabElementedCase_ | _IfcPlateStandardCase_ (subfloor)
_IfcElementAssembly_ (joists)
_IfcBuildingElementPart_ (ceiling drywall) -_IfcWallElementedCase_ | _IfcBuildingElementPart_ (panels on forward side)
_IfcElementAssembly_ (studs, track, insulation)
_IfcBuildingElementPart_ (panels on reverse side) +_IfcSlab_ | _IfcPlate_ (subfloor)
_IfcElementAssembly_ (joists)
_IfcBuildingElementPart_ (ceiling drywall) +_IfcWall_ | _IfcBuildingElementPart_ (panels on forward side)
_IfcElementAssembly_ (studs, track, insulation)
_IfcBuildingElementPart_ (panels on reverse side) diff --git a/ModelViews/General Usage/DocModelView.xml b/ModelViews/General Usage/DocModelView.xml index 63a5c1954..4a37d8a91 100644 --- a/ModelViews/General Usage/DocModelView.xml +++ b/ModelViews/General Usage/DocModelView.xml @@ -256,8 +256,8 @@ The **IfcActionRequest** may have assignments of its own using the [IfcRelAssign - - + + @@ -333,10 +333,10 @@ The **IfcActionRequest** may have assignments of its own using the [IfcRelAssign - - - - + + + + @@ -402,9 +402,9 @@ The **IfcActionRequest** may have assignments of its own using the [IfcRelAssign - - - + + + @@ -562,7 +562,7 @@ The **IfcActionRequest** may have assignments of its own using the [IfcRelAssign The operating function of an asset within an organization may be particularly valuable in situations where one organization provides and maintains core services and another organization adds and maintains terminal services. It can classify who owns and is responsible for the asset. Operating function can be designated through the use of one or more classification references. - + @@ -987,15 +987,104 @@ The **IfcActionRequest** may have assignments of its own using the [IfcRelAssign - The material of the _IfcBeam_ is defined by the _IfcMaterialProfileSet_ or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcBeamType_. - -> NOTE&nbsp; It is illegal to assign an _IfcMaterialProfileSetUsage_ to an _IfcBeam_. Only the subtype _IfcBeamStandardCase_ supports this concept. + The material information of the _IfcBeam_ is defined by _IfcMaterialProfileSet_ or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcBeamType_. In this case, the material information does not allow to construct a shape by applying the profile definition to the axis representation, to enable this parametric definition, the _IfcMaterialProfileSetUsage_ has to be used instead. + + The _Material Profile Set Usage_ defines the assignment of an _IfcMaterialProfileSetUsage_ to the _IfcBeamType_ providing a common profile definition to all occurrences of this _IfcBeamType_. Beams with composite profile can be represented by refering to several _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ that is referenced from the _IfcMaterialProfileSetUsage_. + +<table> + + <tr> + <td><img src="../../figures/ifcbeam-01.png" height="500" width="500" alt="Material profile set and usage"></td> + <td><blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates assignment of <em>IfcMaterialProfileSetUsage</em> and <em>IfcMaterialProfileSet</em> to the <em>IfcBeam</em> as the beam occurrence and to the <em>IfcBeamType</em>. The same <em>IfcMaterialProfileSet</em> shall be shared by many occurrences of <em>IfcMaterialProfileSetUsage</em>. This relationship shall be consistent to the relationship between the <em>IfcBeamType</em> and the <em>IfcBeam</em>.</blockquote> + + </td> + </tr> + +<tr> + <td><p class="figure">Figure 1 &mdash; Beam profile usage</p></td> + <td>&nbsp;</td> + </tr> + +</table> + +<table> + + <tr> + <td><img src="../../figures/ifcbeam_cardinalpoint.png" height="250" width="500" alt="Cardinal point usage"></td> + <td> + + <blockquote class="example">EXAMPLE&nbsp; Figure 2 illustrates alignment of cardinal points.</blockquote> + +<blockquote class="note">NOTE&nbsp; It has to be guaranteed that the use of <em>IfcCardinalPointEnum</em> is consistent to the placement of the extrusion body provided by <em>IfcExtrudedAreaSolid.Position</em></blockquote> + +<blockquote class="note">NOTE&nbsp; The cardinal points <b>8</b> (top centre) and <b>6</b> (mid-depth right) are assigned according to the definition at <em>IfcCardinalPointReference</em></blockquote> </td> + </tr> + +<tr> + <td><p class="figure">Figure 2 &mdash; Beam cardinal points</p></td> + <td>&nbsp;</td> + </tr> + +</table> + +<table> + +<tr> + <td><img src="../../figures/ifcbeam-02.png" height="550" width="500" alt="Material profile set and usage"></td> + <td> +<blockquote class="example">EXAMPLE&nbsp; Figure 3 illustrates assignment of a composite profile by using <em>IfcCompositeProfile</em> for geometric representation and several <em>IfcMaterialProfile</em>'s within the <em>IfcMaterialProfileSet</em>.</blockquote> + + </td> + </tr> + + <tr> + <td><p class="figure">Figure 3 &mdash; Beam composite profiles</p></td> + </tr> + +</table> + + - The 'Axis' 'Curve 3D' geometry can be used to represent the system axis and length of a beam that may extent the body length. + The axis representation can be used to represent the system length of a beam that may extent the body length of the beam. + +> NOTE&nbsp; The 'Axis' is used to locate the material profile set, if the material association is of type _IfcMaterialProfileSetUsage_. + +The following additional constraints apply to the 'Axis' representation, if an _IfcMaterialProfileSetUsage_ is provided and the 'Body' shape representation has the _RepresentationType_: 'SweptSolid': + +* _Axis_ + * _IfcPolyline_ having two _Points_, or _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcLine_ for 'SweptSolid' provided as _IfcExtrudedAreaSolid_. The axis curve lies on the z axis of the object coordinate system. + * _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcCircle_ for 'SweptSolid' provided as _IfcRevolvedAreaSolid_. The axis curve lies on the x/z plane of the object coordinate system, the tangent at the start is along the positive z-axis. + +&nbsp; + +<table border="0" cellpadding="2" cellspacing="2" summary="Axis"> + +<tr><td align="left" valign="top" width="350"> +<img src="../../figures/ifcbeamstandardcase_axis-01.png" alt="Axis" height="300" width="400" border="1"></td> +<td><blockquote class="example">EXAMPLE&nbsp; As shown in Figure 76, the axis shall be defined along the z axis of the object coordinate system. The axis representation can be used to represent the system length of a beam that may extent the body length of the beam.</blockquote> + +</td> +</tr> + +<tr><td><p class="figure">Figure 1 &mdash; Beam axis representation</p></td><td>&nbsp;</td></tr> + +</table> + +<table> + +<tr><td align="left" valign="top" width="350"> +<img src="../../figures/ifcbeamstandardcase_axis-02.png" alt="Axis" height="300" width="400" border="1"></td> +<td><blockquote class="example">EXAMPLE&nbsp; As shown in Figure 77, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the beam. The extrusion path is provided as <em>IfcExtrudedAreaSolid.ExtrudedDirection</em> and should be parallel to the 'Axis' and the z axis. It has to be guaranteed that the value provided by +<em>IfcMaterialProfileSetUsage.CardinalPoint</em> is consistent to the <em>IfcExtrudedAreaSolid.Position</em>.</blockquote> + +</td> +</tr> + +<tr><td><p class="figure">Figure 2 &mdash; Beam axis cardinal point</p></td><td>&nbsp;</td></tr> -> NOTE&nbsp; The 'Axis' is not used to locate the material profile set, only the subtype _IfcBeamStandardCase_ provides this capability. +</table> @@ -1041,14 +1130,6 @@ Figure 1 illustrates use of _IfcBooleanClippingResult_ between an _IfcExtrudedAr !["clipped beam"](../../figures/ifcbeam_advanced-2-layout1.gif "Figure 1 &mdash; Beam clipping") - - - - - An idealized structural member corresponding to the beam. - - - @@ -1274,9 +1355,9 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - - - + + + @@ -1416,8 +1497,8 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - - + + @@ -2113,7 +2194,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2531,7 +2612,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2579,8 +2660,8 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - - + + @@ -2590,7 +2671,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2805,11 +2886,29 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - The material of the _IfcColumn_ is defined by the _IfcMaterialProfileSet_ or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcColumnType_. - -> NOTE&nbsp; It is illegal to assign an _IfcMaterialProfileSetUsage_ to an _IfcColumn_. Only the subtype _IfcColumnStandardCase_ supports this concept. + The material information of the _IfcColumn_ is defined by the _IfcMaterialProfileSet_ or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcColumnType_. In this case, the material information does not allow to construct a shape by applying the profile definition to the axis representation, to enable this parametric definition, the _IfcMaterialProfileSetUsage_ has to be used instead. + + The _Material Profile Set Usage_ defines the assignment of an _IfcMaterialProfileSetUsage_ to the _IfcColumnType_ providing a common profile definition to all occurrences of this _IfcColumnType_. Columns with composite profile can be represented by refering to several _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ that is referenced from the _IfcMaterialProfileSetUsage_. + +Figure 1 illustrates assignment of _IfcMaterialProfileSetUsage_ and _IfcMaterialProfileSet_ to the _IfcColumn_ as the column occurrence and to the _IfcColumnType_. The same _IfcMaterialProfileSet_ shall be shared by many occurrences of _IfcMaterialProfileSetUsage_. This relationship shall be consistent to the relationship between the _IfcColumnType_ and the _IfcColumnStandardCase_. + +!["Material profile set and usage"](../../figures/ifccolumn-01.png "Figure 1 &mdash; Column profile usage") + +Figure 2 illustrates cardinal point alignment. + +> NOTE  It has to be guaranteed that the use of _IfcCardinalPointEnum_ is consistent to the placement of the extrusion body provided by _IfcExtrudedAreaSolid_._Position_ + +> NOTE  The cardinal points **7** (top left), and **6** (mid-depth right) are assigned according to the definition at _IfcCardinalPointReference_ + +!["Cardinal point usage"](../../figures/ifccolumn_cardinalpoint.png "Figure 2 &mdash; Column cardinal points") + +Figure 3 illustrates assignment of a composite profile by using _IfcCompositeProfile_ for geometric representation and several _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_. The number of _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ is restricted to maximal 2 and requires the use of _IfcExtrudedAreaSolidTapered_, or _IfcRevolvedAreaSolidTapered_ for the correct 'Body' shape representation. + +!["Material profile set and usage"](../../figures/ifccolumn-02.png "Figure 3 &mdash; Column composite profiles") + + The _IfcColumn_, as any subtype of _IfcBuildingElement_, may participate alternatively in one of the two different containment relationships: @@ -2831,7 +2930,50 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they The axis representation can be used to represent the system length of a column that may extent the body length of the column. -> NOTE&nbsp; The 'Axis' is not used to locate the material profile set, only the subtype _IfcColumnStandardCase_ provides this capability. +> NOTE&nbsp; The 'Axis' is used to locate the material profile set, if the material association is of type _IfcMaterialProfileSetUsage_. + +The following additional constraints apply to the 'Axis' representation, if an _IfcMaterialProfileSetUsage_ is provided and the 'Body' shape representation has the _RepresentationType_: 'SweptSolid': + +* _Axis_ + * _IfcPolyline_ having two _Points_, or _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcLine_ for 'SweptSolid' provided as _IfcExtrudedAreaSolid_. The axis curve lies on the z axis of the object coordinate system. + * _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcCircle_ for 'SweptSolid' provided as _IfcRevolvedAreaSolid_. The axis curve lies on the x/z plane of the object coordinate system, the tangent at the start is along the positive z-axis. + +&nbsp; + +<table border="0" cellpadding="2" cellspacing="2" summary="Axis"> + + <tr> + <td align="left" valign="top" width="300"><img src="../../figures/ifccolumnstandardcase_axis-01.png" alt="Axis" border="1"></td> + <td> +<blockquote class="example">EXAMPLE&nbsp; As shown in Figure 1, the axis shall be defined along the z axis of +the object coordinate system. The axis representation can be used to +represent the system length of a column that may extent the body +length of the column.</blockquote> + +</td> + </tr> + +<tr> + <td><p class="figure">Figure 1 &mdash; Column axis representation</p></td> + <td>&nbsp;</td> + </tr> + +</table> + +<table border="0" cellpadding="2" cellspacing="2" summary="Axis"> + +<tr> + <td align="left" valign="top" width="300"><img src="../../figures/ifccolumnstandardcase_axis-02.png" alt="Axis" border="1"></td> + + <td><blockquote class="example">EXAMPLE&nbsp; As shown in Figure 2, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the column. The extrusion path is provided as <em>IfcExtrudedAreaSolid.ExtrudedDirection</em> and should be parallel to the 'Axis'. It has to be guaranteed that the value provided by <em>IfcMaterialProfileSetUsage.CardinalPoint</em> is consistent to the <em>IfcExtrudedAreaSolid.Position</em>.</blockquote> + </td></tr> + + <tr> + <td><p class="figure">Figure 2 &mdash; Column axis cardinal point</p></td> + <td>&nbsp;</td> + </tr> + +</table> @@ -2877,17 +3019,6 @@ Figure 1 illustrates a 'Clipping' geometric representation with use of !["advanced column"](../../figures/ifccolumn_advanced-2-layout1.png "Figure 1 &mdash; Column clipping") - - - - - An idealized structural member corresponding to the column. - - - A task for operating on the column. - - - @@ -3515,7 +3646,7 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ Constraints may be applied to a resource to indicate fixed work (such as total person-hours) or fixed usage (such as simultaneous workers). - + Indicate fixed usage (such as simultaneous workers) such that changes to ScheduleWork should impact the assigned IfcTask.TaskTime.ScheduleDuration and vice-versa. @@ -3728,7 +3859,7 @@ A common scenario is two nesting levels where the first-level resources have no - + @@ -3853,7 +3984,7 @@ A common scenario is two nesting levels where the first-level resources have no Instances of _IfcCostItem_ are used for cost estimates, budgets, and other forms, where a variety of identification codes are used extensively to identify the meaning of the cost. Examples include project phase codes, CSI codes, takeoff sequence numbers, and cost accounts. The model allows for all classes that are ultimately subtypes of _IfcObject_ to inherit the ability to have one or more instances of _IfcClassificationReference_ to be assigned. Where identification codes are required, the generic _IfcRelAssociatesClassification_ facility should be used. - + An _IfcCostItem_ can nest other instances of _IfcCostItem_ through its relationships to _IfcRelNests_. This can be used to enable the development of complex groups of costs as may be found in cost schedules through to pages, sections and complete cost schedules. @@ -4315,7 +4446,7 @@ parameter of the <em>IfcSurfaceOfLinearExtrusion</em>.</li> - + @@ -4458,7 +4589,7 @@ parameter of the <em>IfcSurfaceOfLinearExtrusion</em>.</li> Figure 1 illustrates classification usage. !["Classification Use Definition"](../../figures/ifcdistributioncontrolelement-classification.png "Figure 1 &mdash; Distribution control classification") - + 32-bit decimal BACnetObjectIdentifier indicating type ID and instance ID (e.g.'12.15' for Digital Input #15). @@ -4544,9 +4675,9 @@ The assignment of types to distribution element occurrences is vital for providi - - - + + + @@ -4680,8 +4811,8 @@ Upon connecting elements through ports with rigid connections, each object shall - - + + @@ -4691,30 +4822,30 @@ Upon connecting elements through ports with rigid connections, each object shall - - - + + + - - + + - - - + + + - + @@ -4724,26 +4855,26 @@ Upon connecting elements through ports with rigid connections, each object shall - + - - - - + + + + - - - - - + + + + + @@ -4753,27 +4884,27 @@ Upon connecting elements through ports with rigid connections, each object shall - + - - - - + + + + - - - - - - + + + + + + @@ -4875,6 +5006,8 @@ Figure 1 illustrates a distribution system for an electrical circuit. The opening direction is determined by the local placement of _IfcDoor_ and the _OperationType_ of the _IfcDoorType_ as shown in Figure 1. +The _IfcDoorTypeOperationEnum_ defines the general layout of the door type and its symbolic presentation. Depending on the enumerator, the appropriate instances of _IfcDoorLiningProperties_ and _IfcDoorPanelProperties_ are attached in the list of _HasPropertySets_. The _IfcDoorTypeOperationEnum_ mainly determines the hinge side (left hung, or right hung), the operation (swinging, sliding, folding, etc.) and the number of panels. + > NOTE&nbsp; There are different definitions in various countries on what a left opening or left hung or left swing door is (same for right). Therefore the IFC definition may derivate from the local standard and need to be mapped appropriately. <table><tr><td> @@ -4995,7 +5128,7 @@ pictures).</small></td> - + @@ -5067,8 +5200,16 @@ pictures).</small></td> - - The material of the _IfcDoor_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_ relationship. + + The material of the _IfcDoor_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_ relationship. It is accessible by the inverse _HasAssociations_ relationship. + +The following keywords for _IfcMaterialConstituentSet.MaterialConstituents[n].Name_ shall be used: + +* 'Lining' - to indicate that the material constituent applies to to the door lining +* 'Framing' - to indicate that the material constituent applies to to the door framing, if not provided, the 'Lining' material information applied to frams as well +* 'Glazing' - to indicate that the material constituent applies to to the glazing as well + +If the fall back single _IfcMaterial_ is referenced, it applies to the lining and framing of the door. @@ -5082,6 +5223,83 @@ pictures).</small></td> + + The following restriction is imposed: + +1. The _PlacementRelTo_ relationship of _IfcLocalPlacement_ shall point to the local placement of the same element (if given), in which the _IfcDoor_ is used as a filling (normally an _IfcOpeningElement_), as provided by the _IfcRelFillsElement_ relationship; +2. If the _IfcDoor_ is part of an assembly, e.g. an _IfcCurtainWall_, then the _PlacementRelTo_ relationship of _IfcLocalPlacement_ shall point (if given) to the local placement of that assembly; +3. If the _IfcDoor_ is not inserted into an _IfcOpeningElement_, then the _PlacementRelTo_ relationship of _IfcLocalPlacement_ shall point (if given) to the local placement of the same _IfcSpatialStructureElement_ that is used in the _ContainedInStructure_ inverse attribute or to a referenced spatial structure element at a higher level. + +> NOTE&nbsp; The product placement is used to determine the opening direction of the door. + + + + The door profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric door representation. The following attribute values for the _IfcShapeRepresentation_ holding this geometric representation shall be used: + +* _RepresentationIdentifier_ : 'Profile' +* _RepresentationType_ : 'Curve3D' or 'GeometricCurveSet', in case of 'GeometricCurveSet' only a single closed curve shall be contained in the set of _IfcShapeRepresentation.Items_. + +The following additional constraints apply to the 'Profile' representation type: + +* **Curve**: being an _IfcPolyline_ defining a rectangle. +* **Position**: The curve shall lie in the xz plane of the object placement coordinate (the y coordinate values of the _IfcCartesianPoint_'s shall be 0.). + +&nbsp; + +<table summary=""> + +<tr valign="top"> + + <td><img src="../../figures/ifcdoorstandardcase-01.png" alt="standard door" border="0" width="500" height="500"></td> + + <td> +<blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates applying the door lining parameters to the +door profile shape representation. The profile defines the outer +boundary to which the door lining parameters relate as:</blockquote> + <blockquote> +<ul> + + <li class="small"><em>IfcDoorLiningProperties.LiningDepth</em> starting at distance +defined by <em>LiningOffset</em> going into the positive y +direction.</li> + + <li class="small"><em>IfcDoorLiningProperties.LiningThickness</em> offset into the +inner side of the rectangle.</li> + <li class="small"><em>IfcDoorLiningProperties.LiningOffset</em> distance along the +positive y direction to where the <em>LiningDepth</em> applies.</li> + +<li class="small"><em>IfcDoorLiningProperties.ThresholdThickness</em> starting at +the bottom edge of the rectangle into the inner side of the +rectangle</li> + + <li class="small"><em>IfcDoorLiningProperties.ThresholdDepth</em> starting at +distance defined by <em>LiningOffset</em> going into the positive y +direction.</li> + + <li class="small"><em>IfcDoorLiningProperties.TransomOffset</em> starting at the +bottom edge of the rectangle (along local x axis) into the inner +side of the rectangle, distance provided as percentage of overall +height. Distance to the centre line of the transom.</li> + +</ul></blockquote> + +</td> + + </tr> + + <tr valign="top"> + +<td> +<p class="figure">Figure 1 &mdash; Door profile</p> +</td> + +<td>&nbsp;</td> + + </tr> + +</table> + + The _IfcDoor_, as any subtype of _IfcBuildingElement_, may participate alternatively in one of the two different containment relationships: @@ -5135,22 +5353,6 @@ structure by - - The following restriction is imposed: - -1. The _PlacementRelTo_ relationship of _IfcLocalPlacement_ shall point to the local placement of the same element (if given), in which the _IfcDoor_ is used as a filling (normally an _IfcOpeningElement_), as provided by the _IfcRelFillsElement_ relationship; -2. If the _IfcDoor_ is part of an assembly, e.g. an _IfcCurtainWall_, then the _PlacementRelTo_ relationship of _IfcLocalPlacement_ shall point (if given) to the local placement of that assembly; -3. If the _IfcDoor_ is not inserted into an _IfcOpeningElement_, then the _PlacementRelTo_ relationship of _IfcLocalPlacement_ shall point (if given) to the local placement of the same _IfcSpatialStructureElement_ that is used in the _ContainedInStructure_ inverse attribute or to a referenced spatial structure element at a higher level. - -> NOTE&nbsp; The product placement is used to determine the opening direction of the door. - - - - The door profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric door representation. Only a single closed curve shall be contained in the set of _IfcShapeRepresentation.Items_. - -A 'Profile' representation has to be provided if a parametric representation is applied to the door. - - @@ -5285,8 +5487,8 @@ height. Distance to the centre line of the transom.</li> - - + + @@ -5405,8 +5607,8 @@ height. Distance to the centre line of the transom.</li> - - + + @@ -5483,9 +5685,9 @@ height. Distance to the centre line of the transom.</li> - - - + + + @@ -5760,7 +5962,7 @@ height. Distance to the centre line of the transom.</li> - + @@ -6109,7 +6311,7 @@ height. Distance to the centre line of the transom.</li> - + @@ -6267,6 +6469,12 @@ representation</p> The same constraints, as given for 'SurfaceOrSolidModel', 'SurfaceModel', 'Tessellation', 'Brep', and 'AdvancedBrep' geometric representation, shall apply to the _IfcRepresentationMap_. + + + + + + @@ -6463,7 +6671,7 @@ Representation identifier and type are the same as in single mapped representati - + @@ -6696,7 +6904,7 @@ Representation identifier and type are the same as in single mapped representati - + @@ -6802,8 +7010,8 @@ Representation identifier and type are the same as in single mapped representati - - + + @@ -7351,7 +7559,7 @@ The material is attached by the _RelatingMaterial_ attribute on the [IfcRelAssoc * Catalog : _IfcClassification.Name_ * Identity: _IfcClassificationReference.Identification_ * ElementName: _IfcClassificationReference.Name_ - + @@ -8318,11 +8526,21 @@ The following constraints apply to the 2D representation: - The material of the _IfcMember_ is defined by the _IfcMaterialProfileSet_ or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcMemberType_. - -> NOTE&nbsp; It is illegal to assign an _IfcMaterialProfileSetUsage_ to an _IfcMember_. Only the subtype _IfcMemberStandardCase_ supports this concept. + The material information of the _IfcMember_ is defined by the _IfcMaterialProfileSet_ or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcMemberType_. In this case, the material information does not allow to construct a shape by applying the profile definition to the axis representation, to enable this parametric definition, the _IfcMaterialProfileSetUsage_ has to be used instead. + + The material of the _IfcMember_ is defined by _IfcMaterialProfileSetUsage_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. Composite profile members can be represented by refering to several _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ that is referenced from the _IfcMaterialProfileSetUsage_. + +Figure 1 illustrates assignment of _IfcMaterialProfileSetUsage_ and _IfcMaterialProfileSet_ to the _IfcMember_ as the member occurrence and to the _IfcMemberType_. The same _IfcMaterialProfileSet_ shall be shared by many occurrences of _IfcMaterialProfileSetUsage_. This relationship shall be consistent to the relationship between the _IfcMemberType_ and the _IfcMember_. + +!["Material profile set and usage"](../../figures/ifcmember-01.png "Figure 1 &mdash; Member profile usage") + +Figure 2 illustrates assignment of a composite profile by using _IfcCompositeProfile_ for geometric representation and several _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_. The number of _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ is restricted to maximal 2 and requires the use of _IfcExtrudedAreaSolidTapered_, or _IfcRevolvedAreaSolidTapered_ for the correct 'Body' shape representation. + +!["Material profile set and usage"](../../figures/ifcmember-02.png "Figure 2 &mdash; Member composite profiles") + + The _IfcMember_, as any subtype of _IfcBuildingElement_, may participate alternatively in one of the two different containment relationships: @@ -8344,7 +8562,49 @@ The following constraints apply to the 2D representation: The axis representation can be used to represent the system length of a member that may extent the body length of the member. -> NOTE&nbsp; The 'Axis' is not used to locate the material profile set, only the subtype _IfcMemberStandardCase_ provides this capability. +> NOTE&nbsp; The 'Axis' is used to locate the material profile set, if the material association is of type _IfcMaterialProfileSetUsage_. + +The following additional constraints apply to the 'Axis' representation, if an _IfcMaterialProfileSetUsage_ is provided and the 'Body' shape representation has the _RepresentationType_: 'SweptSolid': + +* _Axis_ + * _IfcPolyline_ having two _Points_, or _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcLine_ for 'SweptSolid' provided as _IfcExtrudedAreaSolid_. The axis curve lies on the z axis of the object coordinate system. + * _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcCircle_ for 'SweptSolid' provided as _IfcRevolvedAreaSolid_. The axis curve lies on the x/z plane of the object coordinate system, the tangent at the start is along the positive z-axis. + +&nbsp; + +<table border="0" cellpadding="2" cellspacing="2" summary="Axis"> + +<tr> + <td align="left" valign="top" width="350"><img src="../../figures/ifcmemberstandardcase_axis-01.png" alt="Axis" border="1"></td> + <td> + +<blockquote class="example">EXAMPLE&nbsp; As shown in Figure 101, the axis representation can be used to represent the system length of a member that may extent the body length of the member.</blockquote> + + </td> + </tr> + + <tr> + <td><p class="figure">Figure 1 &mdash; Member axis representation</p></td> + <td>&nbsp;</td> + </tr> + +</table> + +<table border="0" cellpadding="2" cellspacing="2" summary="Axis"> + +<tr> + <td align="left" valign="top" width="350"><img src="../../figures/ifcmemberstandardcase_axis-02.png" alt="Axis" border="1"></td> + <td align="left" valign="top"><blockquote class="example">EXAMPLE&nbsp; As shown in Figure 102, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the member. The extrusion path is provided as <em>IfcExtrudedAreaSolid.ExtrudedDirection</em> and should be parallel to the 'Axis'. It has to be guaranteed that the value provided by <em>IfcMaterialProfileSetUsage.CardinalPoint</em> is consistent to the <em>IfcExtrudedAreaSolid.Position</em>.</blockquote> + +</td> + </tr> + +<tr> + <td><p class="figure">Figure 2 &mdash; Member axis cardinal point</p></td> + <td>&nbsp;</td> + </tr> + +</table> @@ -8353,26 +8613,50 @@ The following constraints apply to the 2D representation: - The following additional constraints apply to the 'SweptSolid' representation: + The following constraints apply to the 'SweptSolid' representation: -* **Solid**: _IfcExtrudedAreaSolid_, _IfcRevolvedAreaSolid_ shall be supported -* **Profile**: all subtypes of _IfcProfileDef_ (with exception of _IfcArbitraryOpenProfileDef_)  -* **Extrusion**: All extrusion directions shall be supported. +* Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported +* Profile: all subtypes of IfcProfileDef (with exception of _IfcArbitraryOpenProfileDef_) +* Extrusion: All extrusion directions shall be supported. -Figure 1 illustrates a 'SweptSolid' geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green). -!["standard member"](../../figures/ifcmember_sweptsolid-01.png "Figure 1 &mdash; Member swept solid") +<>The following additional constraints apply to the 'SweptSolid' +representation, when an _IfcMaterialProfileSetUsage_ is assigned to the _IfcMember_:* **Solid**: _IfcExtrudedAreaSolid_, _IfcRevolvedAreaSolid_ shall be supported +* **Profile**: all subtypes of _IfcProfileDef_ (with exception of _IfcArbitraryOpenProfileDef_) +* **Profile Position** : For all single profiles, the _IfcParameterizedProfileDef_.Position shall be NIL, or having _Location_ = 0.,0. and _RefDirection_ = 1.,0. +* **Extrusion**: perpendicular to the profile direction. +* **Orientation**: The y-axis of the profile, as determined by _IfcSweptAreaSolid.Position.P[2]_ shall point to the Z-Axis. It indicates the "role" of the column, a role=0&deg; means y-axis of profile = Z-axis of reference coordinate system. In the exception of a vertical member, the y-axis shall point to the Y-axis. + +Figure 1 illustrates a 'SweptSolid' geometric representation with cardinal point applied as **1** (bottom left). + +The following interpretation of dimension parameter applies for rectangular members: + +* <small><em>IfcRectangleProfileDef.YDim</em> interpreted as member width</small> +* <small><em>IfcRectangleProfileDef.XDim</em> interpreted as member depth</small> + +The following interpretation of dimension parameter applies for circular members: + +* <small><em>IfcCircleProfileDef.Radius</em> interpreted as beam radius.</small> + +!["standard member"](../../figures/ifcbeamstandardcase_sweptsolid-01.png "Figure 1 &mdash; Member body extrusion") - The following additional constraints apply to the 'AdvancedSweptSolid' representation type: + The following constraints apply to the 'AdvancedSweptSolid' representation type: * **Solid**: _IfcSurfaceCurveSweptAreaSolid_, _IfcFixedReferenceSweptAreaSolid_, _IfcExtrudedAreaSolidTapered_, _IfcRevolvedAreaSolidTapered_ shall be supported. >> NOTE&nbsp; View definitions and implementer agreements can further constrain the allowed swept solid types. * **Profile**: see 'SweptSolid' geometric representation * **Extrusion**: not applicable -_MappedRepresentation Representation Type_ +The following additional constraints apply to the 'AdvancedSweptSolid' representation type, when an _IfcMaterialProfileSetUsage_ is assigned to the _IfcMember_: + +* **Solid**: _IfcSurfaceCurveSweptAreaSolid_, _IfcFixedReferenceSweptAreaSolid_, _IfcExtrudedAreaSolidTapered_, _IfcRevolvedAreaSolidTapered_ shall be supported. +>> NOTE&nbsp; View definitions and implementer agreement can further constrain the allowed swept solid types. +>> NOTE&nbsp; Using _IfcExtrudedAreaSolidTapered_, or _IfcRevolvedAreaSolidTapered_ requires the use of two _IfcMaterialProfile_'s within the _IfcMaterialProfileSet_ assinged to the _IfcBeamStandardCase_ +* **Profile**: see 'SweptSolid' geometric representation +* **Profile Position** : see 'SweptSolid' geometric representation +* **Extrusion**: not applicable @@ -8385,20 +8669,21 @@ _MappedRepresentation Representation Type_ Figure 1 illustrates a 'Clipping' geometric representation with use of _IfcBooleanClippingResult_ between an _IfcExtrudedAreaSolid_ and an _IfcHalfSpaceSolid_ to create a clipped body. -!["clipped member"](../../figures/ifcmember_clipping-01.png "Figure 1 &mdash; Member clipping") +!["clipped member"](../../figures/ifcmember_clipping-01.png "Figure 1 &mdash; Member clipping") + +The following constraints apply to the 'Clipping' representation, when an _IfcMaterialProfileSetUsage_ is assigned to the _IfcMember_: + +* **Solid**: see 'SweptSolid' geometric representation +* **Profile**: see 'SweptSolid' geometric representation +* **Profile Position** : see 'SweptSolid' geometric representation +* **Extrusion**: see 'SweptSolid' geometric representation +* **Boolean result**: The _IfcBooleanClippingResult_ shall be supported, allowing for Boolean differences between the swept solid (here _IfcExtrudedAreaSolid_) and one or several _IfcHalfSpaceSolid_ (or its subtypes). + +Figure 2 illustrates an advanced geometric representation with use of _IfcBooleanClippingResult_ between an _IfcExtrudedAreaSolid_ and an _IfcHalfSpaceSolid_ to create a clipped body, with cardinal point applied as **4** (mid-depth left). + +!["clipped beam"](../../figures/ifcbeamstandardcase_clipping-01.png "Figure 2 &mdash; Member body clipping") - - - - - An idealized structural member corresponding to the member. - - - A task for operating on the member. - - - @@ -8615,12 +8900,38 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - + + An attribute _Name_ and optionally _Description_ can be used for all subypes of _IfcObject_. For those subtypes, that have an object type definition, such as ifcBeam - IfcBeamType, the common _Name_ and optionally _Description_ is associated with the object type. + + + + + Any object occurrence can be typed by being assigned to a common object type utilizing this concept. A particular rule, restricting the applicable subtypes of _IfcTypeObject_ that can be assigned, is introduced by overriding this concept at the level of subtypes of _IfcObject_. + + + + Any object occurrence can hold property sets, each being a set of individual properties having name, description, value(s) and unit(s). A reference to applicable property sets, being part of this specification, is introduced at the level of sub types of _IfcObject_. + + + + Any object occurrence can hold property sets, either directly at the object occurrence as element specific property sets, or at the object type, as type property sets. In this case, the properties that are provided to the object occurrence are the combinations of element specific and type properties. In case, that the same property (within the same property set, is defined both, in occurrence and type properties, the property value of the occurrence property overrides the property value of the type property. + + + + + + + Any object occurrence or object type can have a reference to a specific classification reference, i.e. to a particular facet within a classification system. + + + + + @@ -8646,16 +8957,16 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - - - - + + + + - + @@ -8670,21 +8981,21 @@ The shared profile definition is defined by assigning an _IfcMaterialProfileSet_ - - - + + + - + - + @@ -8911,7 +9222,7 @@ In addition to standard property sets defined within this specification, if the _IfcPerformanceHistory_ may be classified using _IfcRelAssociatesClassification_ where _RelatingClassification_ refers to an _IfcClassificationReference_ indicating a classification notation. Such classification notation may be used to identify the information such as an address within a building automation system, a work breakdown structure code for tasks, or a cost code for resource allocation. - + _IfcPerformanceHistory_ may be decomposed into components using _IfcRelNests_ where _RelatingObject_ refers to the enclosing _IfcPerformanceHistory_ and _RelatedObjects_ contains one or more _IfcPerformanceHistory_ components. Composition indicates breakdown of further detail and may correspond to the hierarchy of objects it represents. @@ -9171,8 +9482,8 @@ The **IfcPermit** may have assignments of its own using the [IfcRelAssignsToCont - - + + @@ -9306,8 +9617,8 @@ The **IfcPermit** may have assignments of its own using the [IfcRelAssignsToCont - - + + @@ -9458,11 +9769,37 @@ The **IfcPermit** may have assignments of its own using the [IfcRelAssignsToCont - The material of the _IfcPlate_ is defined by _IfcMaterialLayerSet_, or by _IfcMaterial_, and it is attached either directly or at the _IfcPlateType_. - -> NOTE&nbsp; It is illegal to assign an _IfcMaterialLayerSetUsage_ to an _IfcPlate_. Only the subtype _IfcPlateStandardCase_ supports this concept. + The material information of the _IfcPlate_ is defined by _IfcMaterialLayerSet_, or by _IfcMaterial_, and it is attached either directly or at the _IfcPlateType_. In this case, the material information does not allow to construct a shape by applying the layer definition to the plane of the shape representation, to enable this parametric definition, the _IfcMaterialLayerSetUsage_ has to be used instead. + + The material of _IfcPlate_ can be defined by _IfcMaterialLayerSetUsage_ and attached by _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. Multi-layer plates can be represented by refering to several _IfcMaterialLayer_'s within the _IfcMaterialLayerSet_ that is referenced from the _IfcMaterialLayerSetUsage_. + +When assigning an _IfcMaterialLayerSetUsage_ to _IfcPlate_ it shall imply that the _IfcPlateType_ should have a unique _IfcMaterialLayerSet_, that is referenced by _IfcMaterialLayerSetUsage_ assigned to all occurrences of this _IfcPlateType_. + +Figure 1 illustrates assignment of _IfcMaterialLayerSetUsage_ and _IfcMaterialLayerSet_ to the _IfcPlate_ as the plate occurrence and to the _IfcPlateType_. The same _IfcMaterialLayerSet_ shall be shared by many occurrences of _IfcMaterialLayerSetUsage_. This relationship shall be consistent to the relationship between the _IfcPlateType_ and the _IfcPlateStandardCase_. + +<table border="0" cellpadding="2" cellspacing="2"> + +<tr><td width="610" align="left" valign="top"> +<p><img src="../../figures/ifcplate_materialusage-01.png" alt="Material layer set and usage" height="220" width="500">&nbsp;</p></td></tr> + +<tr><td><p class="figure">Figure 1 &mdash; Plate type definition</p></td></tr> + +</table> + +As shown in Figure 106, the following conventions shall be met: + +* The reference coordinate system is the coordinate system established by the _IfcExtrudedAreaSolid.Position_. +* The reference plane is the plane defined by the extruded profile of _IfcExtrudedAreaSolid.SweptSolid_. The _IfcMaterialLayerSetUsage.OffsetFromReferenceLine_ is given as a distance from this plane. +* The _IfcMaterialLayerSetUsage.DirectionSense_ defines how the _IfcMaterialLayer_'s are assigned to the reference plane. POSITIVE means in direction to the positive z-axis of the reference coordinate system. +* The _IfcMaterialLayerSetUsage.OffsetFromReferenceLine_ is the distance parallel to the reference plane and always perpendicular to the base (XY) plane of the reference coordinate system. This is independent of a potential non-perpendicular extrusion given by _IfcExtrudedAreaSolid.ExtrudedDirection_ &lt;&gt; 0.,0.,1. A positive value of _IfcMaterialLayerSetUsage.OffsetFromReferenceLine_ would then point into the positive z-axis of the reference coordinate system. +* The _Thickness_ of each _IfcMaterialLayer_ shall be the parallel distance (measured perpendicular to the base plane). The _TotalThickness_ of the _IfcMaterialLayerSet_ is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with _IfcExtrudedAreaSolid.Depth_ +* The _IfcMaterialLayerSetUsage.LayerSetDirection_ i always AXIS3. + +!["plate material layer set"](../../figures/ifcmateriallayersetusage_slab-01.png "Figure 2 &mdash; Plate material layers") + + The _IfcPlate_, as any subtype of _IfcBuildingElement_, may participate alternatively in one of the two different containment relationships: @@ -9490,23 +9827,65 @@ The **IfcPermit** may have assignments of its own using the [IfcRelAssignsToCont * **Solid**: _IfcExtrudedAreaSolid_ is required, * **Profile**: _IfcArbitraryClosedProfileDef, IfcArbitraryProfileDefWithVoids, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef_ shall be supported. -* **Extrusion**: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile. +* **Extrusion**: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile. + +The following additional constraints apply to the 'SweptSolid' representation, when an _IfcMaterialLayerSetUsage_ is assigned to the _IfcPlate_: + +* **Solid**: _IfcExtrudedAreaSolid_ is required, +* **Profile**: _IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcRoundedRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef_ shall be supported. +* **Extrusion**: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile. +* **Material**: The definition of the _IfcMaterialLayerSetUsage_, particularly of the _OffsetFromReferenceLine_ and the _ForLayerSet.TotalThickness_, has to be consistent to the 'SweptSolid' representation. + +&nbsp; + +<table> + + <tr> + <td><img src="../../figures/ifcslab_standard-layout1.gif" alt="standard plate" border="0" height="274" width="399"></td> + <td> + +<blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates a 'SweptSolid' geometric representation. The following interpretation of dimension parameter applies for polygonal plates (in ground floor view): <em>IfcArbitraryClosedProfileDef.OuterCurve</em> being a closed bounded curve is interpreted as area (or foot print) of the plate.</blockquote> + + + </td> + </tr> + + <tr> + <td><p class="figure">Figure 1 &mdash; Plate body extrusion</p></td> + <td>&nbsp;</td> + </tr> + +</table> + The following constraints apply to the 'Clipping' representation when an _IfcMaterialLayerSetUsage_ is assigned to the _IfcPlate_: + +* **Solid**: see 'SweptSolid' shape representation, +* **Profile**:&nbsp;see 'SweptSolid' shape representation, +* **Extrusion**:&nbsp;see 'SweptSolid' shape representation, +* **Material**:&nbsp;see 'SweptSolid' shape representation, +* **Boolean result**: The _IfcBooleanClippingResult_ shall be supported, allowing for Boolean differences between the swept solid (here _IfcExtrudedAreaSolid_) and one or several _IfcHalfSpaceSolid_. + +&nbsp; + +<table> + + <tr> + <td><img src="../../figures/ifcslab_advanced-layout1.gif" alt="advanced plate" border="0" height="274" width="399"></td> + <td><blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave.</blockquote> + +</td> + </tr> + + <tr> + <td><p class="figure">Figure 1 &mdash; Plate body clipping</p></td> + <td>&nbsp;</td> + </tr> + +</table> - - - - - An idealized structural member corresponding to the plate. - - - A task for operating on the plate. - - - @@ -9766,32 +10145,41 @@ The shared material layer set definition is defined by assigning an _IfcMaterial - - The _IfcProject_ is used to reference the root of the spatial structure of a building or other construction project (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together, and to the _IfcProject_, by using the objectified relationship _IfcRelAggregates_. - -The following constraints are applied to using the relationshio _IfcRelAggregates_ in context of _IfcProject_ - -> NOTE&nbsp; The anomaly to use the composition structure through _IfcRelAggregates_ for assigning the uppermost spatial container to _IfcProject_ is due to upward compatibility reasons with earlier releases of this standard. - -* _IfcProject_.Decomposes -- it shall be NIL, i.e. the _IfcProject_ shall be on top of the root of the spatial structure tree. -* _IfcProject_.IsDecomposedBy -- referencing (_IfcSite_ || _IfcBuilding_ || _IfcSpatialZone_) by using _IfcRelAggregates_.RelatedObjects. The _IfcSite_, _IfcBuilding_, or _IfcSpatialZone_ being referenced shall be the root of the spatial structure. - -Figure 1 illustrates project relationships with spatial structures, elements, and element type libraries. - -!["spatial decomposition relationships"](../../figures/ifcproject_fig-2.png "Figure 1 &mdash; Project spatial structure, products and product type library") - + + - - If referenced, the site is the root of the spatial structure. + + Length unit as meters, millimeters, or inches. - - If referenced, the building is the root of the spatial structure (no explicit site information included). + + Angle unit as degrees or radians. - - If referenced, the spatial zone is the root of the spatial structure (to be used as a stub for non-building related projects). + + + + + + + Context for all 3D geometry. + + + Context for all 2D annotations. + + The representation context of the project refers to a global positioning, i.e. the local engineering coordinate system of the project has a mapping to a defined projected coordinate system (a rectangular map coordinate system, as used in GIS systems) + + + + + + + + + + + The _IfcProject_ is also the context for other information about the construction project such as a work plan. Non-product structures are assigned by their first level object to _IfcProject_ using the _IfcRelDeclares_ relationship. The _IfcProject_ provides the context for work plans (or other non-product based) descriptions of the construction project. It is handled by the objectified relationship _IfcRelDeclares_. @@ -9832,37 +10220,32 @@ Figure 1 illustrates the use of _IfcProject_ as context for work plans or work s - - + + The _IfcProject_ is used to reference the root of the spatial structure of a building or other construction project (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together, and to the _IfcProject_, by using the objectified relationship _IfcRelAggregates_. + +The following constraints are applied to using the relationshio _IfcRelAggregates_ in context of _IfcProject_ + +> NOTE&nbsp; The anomaly to use the composition structure through _IfcRelAggregates_ for assigning the uppermost spatial container to _IfcProject_ is due to upward compatibility reasons with earlier releases of this standard. + +* _IfcProject_.Decomposes -- it shall be NIL, i.e. the _IfcProject_ shall be on top of the root of the spatial structure tree. +* _IfcProject_.IsDecomposedBy -- referencing (_IfcSite_ || _IfcBuilding_ || _IfcSpatialZone_) by using _IfcRelAggregates_.RelatedObjects. The _IfcSite_, _IfcBuilding_, or _IfcSpatialZone_ being referenced shall be the root of the spatial structure. + +Figure 1 illustrates project relationships with spatial structures, elements, and element type libraries. + +!["spatial decomposition relationships"](../../figures/ifcproject_fig-2.png "Figure 1 &mdash; Project spatial structure, products and product type library") + - - Length unit as meters, millimeters, or inches. - - - Angle unit as degrees or radians. + + If referenced, the site is the root of the spatial structure. - - - - - - - Context for all 3D geometry. + + If referenced, the building is the root of the spatial structure (no explicit site information included). - - Context for all 2D annotations. + + If referenced, the spatial zone is the root of the spatial structure (to be used as a stub for non-building related projects). - - - - - - - - - @@ -10248,7 +10631,7 @@ The **IfcProjectOrder** may have assignments of its own using the _IfcRelAssigns - + @@ -10272,7 +10655,7 @@ The **IfcProjectOrder** may have assignments of its own using the _IfcRelAssigns - + @@ -10374,9 +10757,9 @@ The **IfcProjectOrder** may have assignments of its own using the _IfcRelAssigns - - - + + + @@ -11644,10 +12027,48 @@ The representation identifier and type of this representation of _IfcSite_ is: - The material of the _IfcSlab_ is defined by _IfcMaterialLayerSet_, or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcSlabType_. + The material information of the _IfcSlab_ is defined by _IfcMaterialLayerSet_, or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcSlabType_. In this case, the material information does not allow to construct a shape by applying the layer definition to the plane of the shape representation, to enable this parametric definition, the _IfcMaterialLayerSetUsage_ has to be used instead. + + + + The material of _IfcSlab_ can be defined by _IfcMaterialLayerSetUsage_ and attached by _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. Multi-layer slabs can be represented by refering to several _IfcMaterialLayer_'s within the _IfcMaterialLayerSet_ that is referenced from th e _IfcMaterialLayerSetUsage_. + +When assigning an _IfcMaterialLayerSetUsage_ to _IfcSlab_ it shall imply that the _IfcSlabType_ should have a unique _IfcMaterialLayerSet_, that is referenced by _IfcMaterialLayerSetUsage_ assigned to all occurrences of this _IfcSlabType_. + +<table> + + <tr> + <td><img src="../../figures/ifcslab_materialusage-01.png" alt="Material layer set and usage" height="220" width="501"></td> + +<td><blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates assignment of <em>IfcMaterialLayerSetUsage</em> and <em>IfcMaterialLayerSet</em> to the <em>IfcSlab</em> as the slab occurrence and to the <em>IfcSlabType</em>. The same <em>IfcMaterialLayerSet</em> shall be shared by many occurrences of <em>IfcMaterialLayerSetUsage</em>. This relationship shall be consistent to the relationship between the <em>IfcSlabType</em> and the <em>IfcSlabStandardCase</em>.</blockquote></td> + </tr> + +<tr><td><p class="figure">Figure 1 &mdash; Slab type definition</p></td> + <td>&nbsp;</td> + </tr> -> NOTE&nbsp; It is illegal to assign an _IfcMaterialLayerSetUsage_ to an _IfcSlab_. Only the subtype _IfcSlabStandardCase_ supports this concept. - +</table> + +Figure 2 illustrates slab material usage, where the following conventions shall be met: + +* The reference coordinate system is the coordinate system established by the _IfcExtrudedAreaSolid.Position_. +* The reference plane is the plane defined by the extruded profile of _IfcExtrudedAreaSolid.SweptSolid_. The _IfcMaterialLayerSetUsage.OffsetFromReferenceLine_ is given as a distance from this plane. +* The _IfcMaterialLayerSetUsage.DirectionSense_ defines how the _IfcMaterialLayer_'s are assigned to the reference plane. POSITIVE means in direction to the positive z-axis of the reference coordinate system. +* The _IfcMaterialLayerSetUsage.OffsetFromReferenceLine_ is the distance parallel to the reference plane and always perpendicular to the base (XY) plane of the reference coordinate system. This is independent of a potential non-perpendicular extrusion given by _IfcExtrudedAreaSolid.ExtrudedDirection_ &lt;&gt; 0.,0.,1. A positive value of _IfcMaterialLayerSetUsage.OffsetFromReferenceLine_ would then point into the positive z-axis of the reference coordinate system. +* The _Thickness_ of each _IfcMaterialLayer_ shall be the parallel distance (measured perpendicular to the base plane). The _TotalThickness_ of the _IfcMaterialLayerSet_ is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with _IfcExtrudedAreaSolid.Depth_ +* The _IfcMaterialLayerSetUsage.LayerSetDirection_ is always AXIS3. + +<table summary="material use definition for standard slabs"> + + <tr> + <td align="left" valign="top" width="610"> +<img src="../../figures/ifcmateriallayersetusage_slab-01.png" alt="slab material layer set" width="601" height="321" border="0"> +</td></tr> +<tr><td align="left" valign="top" width="610"> +<img src="../../figures/ifcmateriallayersetusage_roofslab-01.png" alt="roof slab material layer set" width="600" height="400" border="0"></td></tr> +<tr><td><p class="figure">Figure 2 &mdash; Slab material layers</p></td></tr> +</table> + The _IfcSlab_, as any subtype of _IfcBuildingElement_, may participate alternatively in one of the two different containment relationships: @@ -11672,17 +12093,45 @@ The representation identifier and type of this representation of _IfcSite_ is: - The following additional constraints apply to the swept solid representation: + The following constraints apply to the 'SweptSolid' representation: * **Solid**: _IfcExtrudedAreaSolid_ is required, -* **Profile**: _IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef_ shall be supported. +* **Profile**: _IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcCircleProfileDef , IfcEllipseProfileDef_ shall be supported. * **Extrusion**: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile. Figure 1 illustrates a 'SweptSolid' geometric representation. > NOTE&nbsp; The following interpretation of dimension parameter applies for polygonal slabs (in ground floor view): > * _IfcArbitraryClosedProfileDef.OuterCurve_: closed bounded curve interpreted as area (or foot print) of the slab. -!["standard slab"](../../figures/ifcslab_standard-layout1.gif "Figure 1 &mdash; Slab body extrusion") +!["standard slab"](../../figures/ifcslab_standard-layout1.gif "Figure 1 &mdash; Slab body extrusion") + +The following additional constraints apply to the 'SweptSolid' representation, when an _IfcMaterialLayerSetUsage_ is assigned to the _IfcSlab_: + +* **Solid**: _IfcExtrudedAreaSolid_ is required, +* **Profile**: _IfcArbitraryClosedProfileDef_, _IfcRectangleProfileDef_, _IfcCircleProfileDef_, _IfcEllipseProfileDef_ shall be supported. +* **Extrusion**: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile. +* **Material**: The definition of the _IfcMaterialLayerSetUsage_, particularly of the _OffsetFromReferenceLine_ and the _ForLayerSet.TotalThickness_, has to be consistent to the 'SweptSolid' representation. + +&nbsp; + +<table> + +<tr> + <td><img src="../../figures/ifcslab_standard-layout1.gif" alt="standard slab" border="0" height="274" width="399"></td> + <td> + +<blockquote class="example">EXAMPLE&nbsp; Figure 2 illustrates a 'SweptSolid' geometric representation. The following interpretation of dimension parameter applies for polygonal slabs (in ground floor view): + <em>IfcArbitraryClosedProfileDef.OuterCurve</em>: closed bounded curve interpreted as area (or foot print) of the slab.</blockquote> + +</td> + </tr> + + <tr> + <td><p class="figure">Figure 2 &mdash; Slab body extrusion</p></td> + <td>&nbsp;</td> + </tr> + +</table> @@ -11695,28 +12144,37 @@ Figure 1 illustrates a 'SweptSolid' geometric representation. Figure 1 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. -!["advanced slab"](../../figures/ifcslab_advanced-layout1.gif "Figure 1 &mdash; Slab body clipping") +!["advanced slab"](../../figures/ifcslab_advanced-layout1.gif "Figure 1 &mdash; Slab body clipping") + +The following constraints apply to the 'Clipping' representation, when an _IfcMaterialLayerSetUsage_ is assigned to the _IfcSlab_: + +* **Solid**: see 'SweptSolid' shape representation, +* **Profile**:&nbsp;see 'SweptSolid' shape representation, +* **Extrusion**:&nbsp;see 'SweptSolid' shape representation, +* **Material**:&nbsp;see 'SweptSolid' shape representation, +* **Boolean result**: The _IfcBooleanClippingResult_ shall be supported, allowing for Boolean differences between the swept solid (here _IfcExtrudedAreaSolid_) and one or several _IfcHalfSpaceSolid_. + +&nbsp; + +<table> + + <tr> + <td><img src="../../figures/ifcslab_advanced-layout1.gif" alt="advanced slab" border="0" height="274" width="399"></td> + <td> + +<blockquote class="example">EXAMPLE&nbsp; Figure 2 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave.</blockquote> + +</td> + </tr> + + <tr> + <td><p class="figure">Figure 2 &mdash; Slab body clipping</p></td> + <td>&nbsp;</td> + </tr> + +</table> - - - - - Indicates a partial recess or full opening that may or may not be filled by another element. - - - - - - - - An idealized structural member corresponding to the slab. - - - A task for operating on the slab. - - - @@ -12136,20 +12594,20 @@ The shared material layer set definition is defined by assigning an _IfcMaterial - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -12162,10 +12620,13 @@ The shared material layer set definition is defined by assigning an _IfcMaterial - + - + + + + The local placement for _IfcSpace_ is defined at its supertype _IfcProduct_. It is defined by the _IfcLocalPlacement_, which defines the local coordinate system that is referenced by all geometric representations. * The _PlacementRelTo_ relationship of _IfcLocalPlacement_ shall point to the local placement of the _IfcSpatialStructureElement_ of type _IfcBuildingStorey_ or _IfcSite_ if relative placement is used. @@ -13222,13 +13683,13 @@ The local coordinate system is established by the reference surface given by top - - - - - - - + + + + + + + @@ -13428,11 +13889,11 @@ A top-level task is declared within the _IfcProject_ using the _IfcRelDeclares_ An _IfcTask_ may be assigned a Work Breakdown Structure (WBS) code. A WBS code is dealt with as a classification of task and is associated to a task occurrence using the _IfcRelAssociatesClassification_ relationship class. As well as being to designate the code, the classification structure also enables the source of the work breakdown structure classification to be identified. - + Constraints may be applied to a task to indicate fixed task duration, fixed start or fixed finish, where _IfcMetric_.ReferencePath is set to the corresponding attribute on the _IfcTaskTime_ entity. - + Indicate fixed duration of task with ConstraintGrade=HARD and Benchmark=EQUALTO such that changes to an assigned _IfcConstructionResource.ResourceTime.ScheduleWork_ should impact _IfcConstructionResource.ResourceTime.ScheduleUsage_, and vice-versa. @@ -14313,11 +14774,41 @@ shown above.</li> - The material of the _IfcWall_ is defined by _IfcMaterialLayerSet_, or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcWallType_. - -> NOTE&nbsp; It is illegal to assign an _IfcMaterialLayerSetUsage_ to an _IfcWall_. Only the subtype _IfcWallStandardCase_ supports this concept. + The material information of the _IfcWall_ is defined by _IfcMaterialLayerSet_, or as fallback by _IfcMaterial_, and it is attached either directly or at the _IfcWallType_. In this case, the material information does not allow to construct a shape by applying the layer definition to the axis representation, to enable this parametric definition, the _IfcMaterialLayerSetUsage_ has to be used instead. + + The material of _IfcWall_ can be defined by _IfcMaterialLayerSetUsage_ and attached by _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. Multi-layer walls can be represented by refering to several _IfcMaterialLayer_'s within the _IfcMaterialLayerSet_ that is referenced from the _IfcMaterialLayerSetUsage_. + +When assigning an _IfcMaterialLayerSetUsage_ to _IfcWall_ it shall imply that the _IfcWallType_ should have a unique _IfcMaterialLayerSet_, that is referenced by _IfcMaterialLayerSetUsage_ assigned to all occurrences of this _IfcWallType_. + +<table> + +<tr> + <td><img src="../../figures/ifcwall_materialusage-01.png" alt="Material layer set and usage" height="220" width="501"></td> + <td><blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates assignment of <em>IfcMaterialLayerSetUsage</em> and <em>IfcMaterialLayerSet</em> to the wall type and the wall occurrence.</blockquote></td> + </tr> + + <tr> + <td><p class="figure">Figure 1 &mdash; Wall Standard Object Typing</p></td> + <td>&nbsp;</td> + </tr> + +</table> + +Figure 2 illustrates material layer usage, where the following conventions shall be met: + +* The reference coordinate system is the local coordinate system established by the _ObjectPlacement_ of the _IfcWallStandardCase_. +* The reference axis is the axis defined by the _IfcShapeRepresentation_ with _RepresentationType_='Axis' as one of the _Representation.Representations_ of the _IfcWallStandardCase_. +* The _IfcMaterialLayerSetUsage.OffsetFromReferenceLine_ is given as a distance from this axis. +* The _IfcMaterialLayerSetUsage.OffsetFromReferenceLine_ is the distance parallel to the reference axis and always within the base (XY) plane of the reference coordinate system. A positve value of _IfcMaterialLayerSetUsage_.OffsetFromReferenceLine would then point into the positive y-axis of the reference coordinate system. +* The _IfcMaterialLayerSetUsage_.DirectionSense defines how the _IfcMaterialLayer_'s are assigned to the reference axis. POSITIVE means in direction to the positive y-axis of the reference coordinate system. +* The _Thickness_ of each _IfcMaterialLayer_ is provided starting from the _OffsetFromReferenceLine_ and in the direction given by _DirectionSense_. It is applied without any gap or overlap between two consecutive layers. The _TotalThickness_ of the _IfcMaterialLayerSet_ is the sum of all layer thicknesses. +* The _IfcMaterialLayerSetUsage.LayerSetDirection_ is always AXIS2. + +!["wall material layer set"](../../figures/ifcmateriallayersetusage_wall-01.png "Figure 2 &mdash; Wall material layers") + + @@ -14345,7 +14836,50 @@ shown above.</li> - > NOTE&nbsp; The 'Axis' is not used to locate the material layer set, only the subtype _IfcWallStandardCase_ provides this capability. + The wall axis is represented by a two-dimensional open curve within a particular shape representation. The 'Axis' shape representation is only used to locate the material layer set along the axis, if the _IfcMaterialLayerSetUsgae_ is applied to the _IfcWall_. In this case, the wall axis is used to apply the material layer set usage parameter to the wall geometry. + +* _Axis_ + * _IfcPolyline_ having two _Points_, or _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcLine_ for the 'SweptSolid' provided as _IfcExtrudedAreaSolid_. The axis curve lies on the x/y plane and is parallel to the x-axis of the object coordinate system. + * _IfcTrimmedCurve_ with _BasisCurve_ of Type _IfcCircle_ for 'SweptSolid' provided as _IfcExtrudedAreaSolid_. The axis curve lies on the x/y plane of the object coordinate system, the tangent at the start is along the positive x-axis. + +&nbsp; + +<table cellpadding="2" cellspacing="2"> + + <tr> + + <td align="left" valign="top"><img src="../../figures/ifcwallstandard_straigthwall_01-layout1.gif" alt="straight wall axis" border="0" height="299" width="393"></td> + + <td><blockquote class="example">EXAMPLE&nbsp; Figure 1 illustrates an axis representation for a straight wall. In case of a straight wall, the set of items shall +include a single geometric representation item of type <em>IfcPolyline</em> or <em>IfcTrimmedCurve</em> with the <em>BasisCurve</em> being an <em>IfcLine</em>. The <em>IfcPolyline</em> or <em>IfcTrimmedCurve</em> shall be parallel (here in a special case co-linear) to the x-axis +of the object coordinate system. The direction shall be identical to the direction of the x-axis.</blockquote> + + </td> + </tr> + <tr> + <td width="393"><p class="figure">Figure 1 &mdash; Wall axis straight</p></td> + + <td>&nbsp;</td> + </tr> +</table> + +<table cellpadding="2" cellspacing="2"> + + <tr> + + <td align="left" valign="top"><img src="../../figures/ifcwallstandard_curvedwall_01-layout1.gif" alt="curved wall axis" border="0" height="299" width="393"></td> + + <td><blockquote class="example">EXAMPLE&nbsp; Figure 2 illustrates an axis representation for a curved wall. In case of a curved wall, the set of items shall include +a single geometric representation item of type <em>IfcTrimmedCurve</em>. The curve shall have a <em>BasisCurve</em> of type <em>IfcCircle</em>. The tangent of the <em>IfcTrimmedCurve</em> shall be parallel at start to the x-axis of the object coordinate system. The direction shall be identical to the direction of the x-axis.</blockquote> + </td></tr> + +<tr> + <td width="393"><p class="figure">Figure 2 &mdash; Wall axis curved</p></td> + <td>&nbsp;</td> + +</tr> + +</table> @@ -14364,31 +14898,72 @@ shown above.</li> * **Profile**: _IfcArbitraryClosedProfileDef_ is required. * **Extrusion**: All extrusion directions shall be supported. -> NOTE&nbsp; If the wall body can be described by a vertical extrusion of a polygonal footprint with constant thickness along the axis (where vertical = into the direction of the global Z axis), the subtype _IfcWallStandardCase_ should be used. If the extrusion is not equal to global Z, then the _IfcWall_ should be used. +The following additional constraints apply to the 'SweptSolid' representation, when an _IfcMaterialLayerSetUsage_ is assigned to the _IfcSlab_: + +* **Solid**: _IfcExtrudedAreaSolid_ is required, +* **Profile**: _IfcArbitraryClosedProfileDef_ and _IfcRectangleProfileDef_ shall be supported. +* **Extrusion**: The profile shall be extruded vertically, i.e., in the direction of the z-axis of the co-ordinate system of the referred spatial structure element. It might be further constraint to be in the direction of the global z-axis in implementers agreements. The extrusion axis shall be perpendicular to the swept profile, i.e. pointing into the direction of the z-axis of the Position of the _IfcExtrudedAreaSolid_. + +The profile of a wall is described in the ground view and extruded vertically. The profile (also identical with the foot print of the wall) is defined by the _IfcArbitraryClosedProfileDef_ (excluding its subtypes). The profile is given with all wall connections already resolved. + +Figure 1 illustrates a body representation for a straight wall. In case of a straight wall, the two sides of the profile shall be parallel to the wall axis, that is, the wall has a single unchanged thickness. + +Figure 2 illustrates a body representation for a curved wall. In case of a curved wall, the two sides of the profile shall be parallel (with defined offset) to the wall axis, that is, the wall has a single unchanged thickness. + +<table cellpadding="2" cellspacing="2"> + +<tr> + + <td align="left" valign="top"><img src="../../figures/ifcwallstandard_straigthwall_02-layout1.gif" alt="straight wall body" border="0" height="299" width="393"></td> + + <td align="left" valign="top"><img src="../../figures/ifcwallstandard_curvedwall_02-layout1.gif" alt="curved wall body" border="0" height="299" width="393"></td> + + </tr> + + <tr> + +<td width="393"><p class="figure">Figure 1 &mdash; Wall body extrusion straight</p></td> + + <td width="393"><p class="figure">Figure 2 &mdash; Wall body extrusion curved</p></td> + +</tr> + +</table> + The following additional constraints apply to the 'SweptSolid' representation, when an _IfcMaterialLayerSetUsage_ is assigned to the _IfcSlab_: + +* **Solid**: see standard geometric representation +* **Profile**: see standard geometric representation +* **Extrusion**: see standard geometric representation +* **Boolean result**: The _IfcBooleanClippingResult_ shall be supported, allowing for Boolean differences between the swept solid (here _IfcExtrudedAreaSolid_) and one or several _IfcHalfSpaceSolid_ (or subtypes). + +Figure 1 illustrates a clipping for a straight wall using an _IfcPolygonalBoundedHalfSpace_ as _SecondOperand_ in the _IfcBooleanClippingResult_. + +Figure 2 illustrates a clipping for a curved wall using an _IfcHalfSpaceSolid_ as _SecondOperand_ in the _IfcBooleanClippingResult_. + +<table cellpadding="2" cellspacing="2"> + + <tr> + + <td><img src="../../figures/ifcwallstandard_straigthwall_03-layout1.gif" alt="straight wall clipping" border="0" height="299" width="397"></td> + +<td><img src="../../figures/ifcwallstandard_curvedwall_03-layout1.gif" alt="curved wall clipping" border="0" height="300" width="400"></td> + + </tr> + +<tr> + +<td width="397"><p class="figure">Figure 1 &mdash; Wall body clipping straight</p></td> + +<td width="400"><p class="figure">Figure 2 &mdash; Wall body clipping curved</p></td> + +</tr> + +</table> - - - - - Indicates a partial recess or full opening, which may or may not be filled by another element. - - - - - - - - An idealized structural member corresponding to the wall. - - - A task for operating on the wall. - - - @@ -14686,11 +15261,11 @@ The shared material layer set definition is defined by assigning an _IfcMaterial - - - - - + + The _IfcWindowTypePartitioningEnum_ defines the general layout of the window type and its symbolic presentation. Depending on the enumerator, the appropriate instances of _IfcWindowLiningProperties_ and _IfcWindowPanelProperties_ are attached in the list of _HasPropertySets_. The _IfcWindowTypePartitioningEnum_ mainly determines the way of partitioning the window into individual window panels and thereby number and position of window panels. + +See _IfcWindowTypePartitioningEnum_ for the correct usage of panel partitioning and _IfcWindowPanelProperties_ for the opening symbols for different panel operation types. + @@ -14728,14 +15303,25 @@ The shared material layer set definition is defined by assigning an _IfcMaterial + + + + + + - - The material of the _IfcWindow_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. + + The material of the _IfcWindow_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial__. +It is accessible by the inverse _HasAssociations_ relationship. The following keywords for _IfcMaterialConstituentSet.MaterialConstituents[n].Name_ shall be used:_ + +* 'Lining' - to indicate that the material constituent applies to to the window lining +* 'Framing' - to indicate that the material constituent applies to to the window panels, if not provided, the 'Lining' material information applied to panels as well +* 'Glazing' - to indicate that the material constituent applies to to the glazing part If the fall back single _IfcMaterial_ is referenced, it applies to the lining and framing of the window. @@ -14781,7 +15367,7 @@ The _IfcWindow_ may also be connected to the _IfcOpeningElement_ in which it is - + The following restriction is imposed: 1. The _PlacementRelTo_ relationship of _IfcLocalPlacement_ shall point to the local placement of the same element (if given), in which the _IfcWindow_ is used as a filling (normally an _IfcOpeningElement_), as provided by the _IfcRelFillsElement_ relationship. @@ -14791,7 +15377,7 @@ The _IfcWindow_ may also be connected to the _IfcOpeningElement_ in which it is > NOTE&nbsp; The product placement is used to determine the opening direction of the window. - + The window profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric window representation. The following attribute values for the _IfcShapeRepresentation_ holding this geometric representation shall be used: * _RepresentationIdentifier_ : 'Profile' @@ -14802,13 +15388,22 @@ A 'Profile' representation has to be provided if: * a parametric representation shall be applied to the window AND * * the window is 'free standing', or - * the opening into which the window is inserted is not extruded horizontally (i.e. where the opening profile does not match the window profile) - - - - - - + * the opening into which the window is inserted is not extruded horizontally (i.e. where the opening profile does not match the window profile) + +The following additional constraints apply to the 'Profile' representation type: + +* **Curve**: being an _IfcPolyline_ defining a rectangle. +* **Position**: The curve shall lie in the xz plane of the object placement coordinate (the y coordinate values of the _IfcCartesianPoint_'s shall be 0.). + +As shown in Figure 1, the profile defines the outer boundary to which the window lining parameters relate as: + +* _IfcWindowLiningProperties.LiningDepth_ starting at distance defined by _LiningOffset_ going into the positive y direction. +* _IfcWindowLiningProperties.LiningThickness_ offset into the inner side of the rectangle. +* _IfcWindowLiningProperties.LiningOffset_ distance along the positive y direction to where the _LiningDepth_ applies. +* _IfcWindowLiningProperties.FirstTransomOffset_ starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. _SecondTransomOffset_ defined accordingly. +* _IfcWindowLiningProperties.FirstMullionOffset_ starting at the left edge of the rectangle (along local z-axis) into the inner side of the rectangle, distance provided as percentage of overall width. Distance to the centre line of the mullion. _SecondMullionOffset_ defined accordingly. + +!["standard window"](../../figures/ifcwindowstandardcase-01.png "Figure 1 &mdash; Window profile") diff --git a/ModelViews/Reference View/DocModelView.xml b/ModelViews/Reference View/DocModelView.xml index 01dfbfb00..9f65c1403 100644 --- a/ModelViews/Reference View/DocModelView.xml +++ b/ModelViews/Reference View/DocModelView.xml @@ -1,7 +1,8 @@  - + + Data exchange requirements indicate required and optional values that may be set on object attributes, organized into concepts. The table that follows lists each entity, concepts applicable to each entity (and any subtypes within scope), and requirements of the concept for import (I) or export (E). Requirements for import and export are indicated using one of the following flags: @@ -27,6 +28,7 @@ General requirements of software implementing the Reference Exchange: * If an application supports both Reference View and Design Transfer View, then it must provide the user an option to choose which to export and display the following text to the user (localized accordingly): "Reference View contains simplified geometry designed for viewing within the widest range of applications. Design Transfer View contains higher-level geometry designed for editing within design applications.". There is no requirement where such choice may be made; i.e. such option could be available every time the user exports a file, or such option could be a general application setting. "089504E470D0A1A0A0000000D4948445200000010000000100802000000909168360000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA8640000006049444154384F95D2D10D00100C0450B512933187CDEC4485A4D150C7779F6B93231792FB799E875B2D3819E0CB2C801B01A0D900620450CCC83D5B0262F44A4FA3016F659B03B0CD1918E60A6E86B87C6097E66D56826AE4FC7724E055E5C90E4E1D281D264C695B0000000049454E44AE426082" + @@ -39,53 +41,53 @@ General requirements of software implementing the Reference Exchange: - + - + - + - + - - + + - + - - - + + + - + - + - - + + - + - + - - + + @@ -100,7 +102,7 @@ General requirements of software implementing the Reference Exchange: - + @@ -120,79 +122,79 @@ General requirements of software implementing the Reference Exchange: - + - + - + - + - - + + - + - + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + + + + - + - - + + - + - + @@ -207,19 +209,19 @@ General requirements of software implementing the Reference Exchange: - + - + - + @@ -239,46 +241,46 @@ General requirements of software implementing the Reference Exchange: - + - + - + - + - - - - - - - - + + + + + + + + - + - - - + + + - + - - - - + + + + @@ -293,7 +295,7 @@ General requirements of software implementing the Reference Exchange: - + @@ -313,38 +315,38 @@ General requirements of software implementing the Reference Exchange: - + - + - + - + - - + + - + - - + + - + - - - + + + @@ -359,7 +361,7 @@ General requirements of software implementing the Reference Exchange: - + @@ -379,34 +381,34 @@ General requirements of software implementing the Reference Exchange: - + - + - + - + - + - + - + - + - + @@ -421,7 +423,7 @@ General requirements of software implementing the Reference Exchange: - + @@ -431,52 +433,6 @@ General requirements of software implementing the Reference Exchange: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -487,35 +443,35 @@ General requirements of software implementing the Reference Exchange: - + - + - + - + - + - + - + - + - - + + @@ -530,7 +486,7 @@ General requirements of software implementing the Reference Exchange: - + @@ -546,38 +502,38 @@ General requirements of software implementing the Reference Exchange: - + - + - - - - - - - - + + + + + + + + - + - + - + - + - - - - + + + + @@ -592,30 +548,30 @@ General requirements of software implementing the Reference Exchange: - + - - - - + + + + - - + + - - + + @@ -623,10 +579,10 @@ General requirements of software implementing the Reference Exchange: - + - + @@ -637,10 +593,10 @@ General requirements of software implementing the Reference Exchange: - + - + @@ -661,49 +617,49 @@ General requirements of software implementing the Reference Exchange: - + - + - + - + - - - - - - + + + + + + - + - - - + + + - + - - - + + + - + - + @@ -718,14 +674,14 @@ General requirements of software implementing the Reference Exchange: - - + + - + @@ -743,10 +699,10 @@ General requirements of software implementing the Reference Exchange: - + - + @@ -778,10 +734,10 @@ General requirements of software implementing the Reference Exchange: - + - + @@ -795,10 +751,10 @@ General requirements of software implementing the Reference Exchange: - + - + @@ -806,94 +762,94 @@ General requirements of software implementing the Reference Exchange: The following standard property sets are defined for _IfcBuilding_. - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - - - - - - + + + + + + - + - - - - + + + + - + - - + + - + - + - - - - + + + + - + - + - - - - - - - - - - + + + + + + + + + + - + - + @@ -909,23 +865,23 @@ General requirements of software implementing the Reference Exchange: - - + + - - - + + + - - + + @@ -933,10 +889,10 @@ General requirements of software implementing the Reference Exchange: - + - + @@ -956,10 +912,10 @@ General requirements of software implementing the Reference Exchange: - + - + @@ -988,10 +944,10 @@ General requirements of software implementing the Reference Exchange: - + - + @@ -999,10 +955,10 @@ General requirements of software implementing the Reference Exchange: - + - + @@ -1015,22 +971,22 @@ General requirements of software implementing the Reference Exchange: - + - + - - - - - + + + + + - + - + @@ -1045,8 +1001,8 @@ General requirements of software implementing the Reference Exchange: - - + + @@ -1101,10 +1057,10 @@ _IfcBuildingStorey_ needs to have a different and higher - + - + @@ -1120,29 +1076,29 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - - - - - - - - + + + + + + + + @@ -1157,23 +1113,23 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - - - + + + - - + + - - + + @@ -1181,10 +1137,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -1199,10 +1155,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -1224,12 +1180,12 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + @@ -1252,29 +1208,29 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + - + - - + + @@ -1289,7 +1245,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -1309,28 +1265,28 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + - + - + @@ -1345,7 +1301,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -1365,28 +1321,28 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + - + - + @@ -1401,20 +1357,20 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - - + + @@ -1434,28 +1390,28 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + - + - + @@ -1470,7 +1426,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -1490,61 +1446,61 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + - + - - + + - + - + - + - + - + @@ -1559,20 +1515,20 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - - + + @@ -1592,42 +1548,42 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - - - - - - - + + + + + + + - + - + - + - - - + + + @@ -1642,7 +1598,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -1658,23 +1614,23 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - - - - - - + + + + + + - + - + @@ -1689,7 +1645,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -1697,10 +1653,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -1711,10 +1667,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -1749,86 +1705,86 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + - + - + - - - - + + + + - + - - + + - + - - + + - + - + - + - + - - - + + + - + - - - - - - - + + + + + + + - + - - + + @@ -1843,7 +1799,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -1859,46 +1815,46 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - - - - - - - + + + + + + + - + - + - + - + - - - - - - - + + + + + + + - + - + @@ -1913,30 +1869,30 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - - - - + + + + - - + + - - + + @@ -1944,10 +1900,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -1958,10 +1914,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -1982,28 +1938,28 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + - + - + @@ -2018,7 +1974,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2038,38 +1994,38 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - - - - - - - - - + + + + + + + + + - + - - - + + + @@ -2084,7 +2040,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2104,34 +2060,35 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - - - - - - - + + + + + + + - + - + + @@ -2146,7 +2103,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2166,28 +2123,28 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + - + - + @@ -2202,7 +2159,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2222,52 +2179,52 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - - - + + + + - + - + @@ -2282,7 +2239,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2302,41 +2259,41 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - - - - - - - - - + + + + + + + + + - + - - - - - - + + + + + + @@ -2351,7 +2308,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2367,27 +2324,27 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - - - - - - - - - - + + + + + + + + + + - + - + @@ -2402,14 +2359,14 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - - + + @@ -2417,10 +2374,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -2431,10 +2388,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -2450,24 +2407,24 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - - - - - - - + + + + + + + - + - + @@ -2482,16 +2439,16 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - - - + + + - - + + @@ -2499,10 +2456,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -2513,10 +2470,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -2533,70 +2490,70 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - - - - + + + + + + - + - + - + - - - + + + @@ -2611,7 +2568,7 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + @@ -2631,10 +2588,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -2645,10 +2602,10 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + @@ -2667,18 +2624,18 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - + - + - + - + - + @@ -2693,15 +2650,15 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - - + + - - + + @@ -2718,50 +2675,54 @@ Elements can also be referenced in an _IfcBuildingStorey_, for example, if they - - - - - - - - - - - - + - + - - - + + + - + - - - - + + + + + - + - - + + + + + + + + + + + + + + + + @@ -2801,23 +2762,23 @@ Figure 1 illustrates distribution port connectivity. - + - + - + - + - - + + @@ -2841,12 +2802,12 @@ Figure 1 illustrates distribution port connectivity. - + - + - + @@ -2884,46 +2845,8 @@ Figure 1 illustrates a distribution system for an electrical circuit. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The opening direction is determined by the local placement of _IfcDoor_ and the _OperationType_ of the _IfcDoorType_ as shown in Figure 1. + The opening direction is determined by the local placement of _IfcDoor_ and the _OperationType_ of the _IfcDoorType_ as shown in Figure 1. The _IfcDoorTypeOperationEnum_ defines the general layout of the door type and its symbolic presentation. Depending on the enumerator, the appropriate instances of _IfcDoorLiningProperties_ and _IfcDoorPanelProperties_ are attached in the list of _HasPropertySets_. The _IfcDoorTypeOperationEnum_ mainly determines the hinge side (left hung, or right hung), the operation (swinging, sliding, folding, etc.) and the number of panels. > NOTE&nbsp; There are different definitions in various countries on what a left opening or left hung or left swing door is (same for right). Therefore the IFC definition may derivate from the local standard and need to be mapped appropriately. @@ -3036,6 +2959,44 @@ pictures).</small></td> > NOTE&nbsp; The _OverallWidth_ and _OverallHeight_ parameters are for informational purpose only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3044,15 +3005,15 @@ pictures).</small></td> - - - + + + - + @@ -3060,10 +3021,10 @@ pictures).</small></td> - + - + @@ -3074,15 +3035,23 @@ pictures).</small></td> - + - + - The material of the _IfcDoor_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_ relationship. + The material of the _IfcDoor_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_ relationship. It is accessible by the inverse _HasAssociations_ relationship. + +The following keywords for _IfcMaterialConstituentSet.MaterialConstituents[n].Name_ shall be used: + +* 'Lining' - to indicate that the material constituent applies to to the door lining +* 'Framing' - to indicate that the material constituent applies to to the door framing, if not provided, the 'Lining' material information applied to frams as well +* 'Glazing' - to indicate that the material constituent applies to to the glazing as well + +If the fall back single _IfcMaterial_ is referenced, it applies to the lining and framing of the door. @@ -3098,48 +3067,48 @@ pictures).</small></td> - + - + - + - + - - - + + + - + - + - - + + - + - + - + - - + + @@ -3154,21 +3123,21 @@ pictures).</small></td> - + - - - + + + - + @@ -3188,54 +3157,54 @@ pictures).</small></td> - + - + - + - + - - - + + + - + - + - - - - - - - + + + + + + + - + - - + + - + - - + + @@ -3250,21 +3219,21 @@ pictures).</small></td> - + - - - + + + - + @@ -3284,40 +3253,40 @@ pictures).</small></td> - + - + - + - + - - - - - + + + + + - + - + - + - - - + + + @@ -3332,7 +3301,7 @@ pictures).</small></td> - + @@ -3352,28 +3321,28 @@ pictures).</small></td> - + - + - + - + - + - + - + @@ -3388,7 +3357,7 @@ pictures).</small></td> - + @@ -3408,39 +3377,39 @@ pictures).</small></td> - + - + - + - + - - + + - + - + - + - + - + @@ -3455,13 +3424,13 @@ pictures).</small></td> - + - + @@ -3481,49 +3450,53 @@ pictures).</small></td> - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + @@ -3538,7 +3511,7 @@ pictures).</small></td> - + @@ -3558,31 +3531,31 @@ pictures).</small></td> - + - + - + - + - - - - + + + + - + - + @@ -3597,7 +3570,7 @@ pictures).</small></td> - + @@ -3617,38 +3590,38 @@ pictures).</small></td> - + - + - + - + - - - - - - - - - - + + + + + + + + + + - + - - + + @@ -3663,7 +3636,7 @@ pictures).</small></td> - + @@ -3683,28 +3656,28 @@ pictures).</small></td> - + - + - + - + - + - + - + @@ -3719,7 +3692,7 @@ pictures).</small></td> - + @@ -3736,134 +3709,146 @@ pictures).</small></td> - + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - + - + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + - - - - + + + - + + + + + + + + + + + + + + - + - + - + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - + - - - - - - - - + + + + + + + + @@ -3871,33 +3856,39 @@ pictures).</small></td> - + - + - Placement of elements is defined by a local placement (a transformation matrix relative to: + Placement of elements is defined by a local placement (a transformation matrix relative to): -* the spatial container (_IfcRelContainedInSpatialStructure_._RelatingSpatialStructure_) -* the parent aggregation element (_IfcRelAggregates_._RelatingObject_), if it is an aggregated part +* the spatial container (if not part of an assembly) + * provided by the relationship _IfcRelContainedInSpatialStructure_._RelatingSpatialStructure_ + * being a subtype of _IfcSpatialElement_, in most cases, _IfcBuildingStorey_ +* the parent aggregation element (if it is an aggregated part) + * provided by the relationship _IfcRelAggregates_._RelatingObject_ + * being a subtype of _IfcElement_ + +The local placement shall always be relative. - - Placement relative to the position and rotation of the container. + + Placement relative to the position and rotation of the spatial element. - - Absolute placement in the engineering coordinate system of the project. + + Placement relative to the position and rotation of the container element. - + - + @@ -3920,6 +3911,9 @@ pictures).</small></td> </table> + + + The default geometric representation of any _IfcElement_ within this model view is a single or multiple tessellated item. The supported tessellation is a triangulated face set, defined by indices into a Cartesian point list. Optionally normals per vertex can be included as well. @@ -3939,13 +3933,19 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + + + + + + + @@ -3956,10 +3956,10 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + @@ -3967,10 +3967,10 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + @@ -4006,29 +4006,29 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - + - + - - + + @@ -4054,45 +4054,45 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - - - + + + - + - - + + - + - + - + - - - + + + @@ -4107,7 +4107,7 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + @@ -4127,37 +4127,37 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - - - - - - - + + + + + + + - + - - - - + + + + @@ -4172,7 +4172,7 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + @@ -4192,70 +4192,70 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - - - - - + + + + + - + - - + + - + - + - - - - - - - + + + + + + + - + - - - + + + - + - + - + - - + + @@ -4270,7 +4270,7 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + @@ -4290,10 +4290,10 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + @@ -4304,10 +4304,10 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + @@ -4324,44 +4324,44 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - - - - - - - - - - + + + + + + + + + + - + - + - + - - + + @@ -4376,7 +4376,7 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + @@ -4396,28 +4396,28 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - + - + - + @@ -4432,7 +4432,7 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + @@ -4452,28 +4452,28 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - + - + - + @@ -4488,7 +4488,7 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + @@ -4508,40 +4508,40 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - + - + - + - - + + - + - - + + @@ -4556,7 +4556,7 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + @@ -4576,57 +4576,57 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - - + + - + - + - + - + - - - - - - + + + + + + - + - + - - - - + + + + @@ -4641,31 +4641,31 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - - - + + + - - - + + + - - + + - - + + @@ -4689,28 +4689,34 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + - + - + - - - - - - - + + + + + + + + + + + + + @@ -4721,10 +4727,10 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + @@ -4741,10 +4747,10 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + @@ -4752,10 +4758,10 @@ The same constraints, as given for 'Tessellation', 'SweptSolid&ap - + - + @@ -4862,29 +4868,29 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - + - + - - + + @@ -4899,7 +4905,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -4919,41 +4925,41 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - + + + + + - + - - - + + + - + - - + + @@ -4968,7 +4974,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -4988,36 +4994,36 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - - - - - + + + + + + + + + - + - + @@ -5032,7 +5038,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -5052,35 +5058,35 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - + + + + + - + - - - - + + + + @@ -5095,13 +5101,13 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + @@ -5121,42 +5127,42 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - - - + + + + + + + - + - - - + + + - + - + @@ -5171,7 +5177,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -5191,36 +5197,36 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - - - + + + + + + + - + - - - + + + @@ -5235,7 +5241,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -5248,34 +5254,74 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - - - - - + + + + + - + - + - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -5292,28 +5338,28 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - + - + - + @@ -5339,35 +5385,35 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - - - - + + + + + + + + - + - + @@ -5382,30 +5428,30 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - - - - + + + + - - + + - - + + @@ -5413,10 +5459,10 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + @@ -5436,28 +5482,28 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - + - + - + @@ -5472,7 +5518,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -5482,7 +5528,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -5494,10 +5540,10 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + @@ -5629,6 +5675,10 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a + + Any object occurrence can hold property sets, either directly at the object occurrence as element specific property sets, or at the object type, as type property sets. In this case, the properties that are provided to the object occurrence are the combinations of element specific and type properties. In case, that the same property (within the same property set, is defined both, in occurrence and type properties, the property value of the occurrence property overrides the property value of the type property. + + @@ -5637,7 +5687,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a Any object occurrence or object type can have a reference to a specific classification reference, i.e. to a particular facet within a classification system. - + @@ -5645,39 +5695,48 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - - The local placement for _IfcOpeningElement_ is defined in its supertype _IfcProduct_. It is defined by the _IfcLocalPlacement_, which defines the local coordinate system that is referenced by all geometric representations. - -* The _PlacementRelTo_ relationship of _IfcLocalPlacement_ should point to the local placement of the same element, which is voided by the opening, i.e. referred to by _VoidsElement_._RelatingBuildingElement_. - - - - - - + - + - - - - + + + + - + - + + + Placement of elements is defined by a local placement (a transformation matrix relative to): + +* the element that is voided (if it is an aggregated part) + * provided by the relationship _VoidsElement_._RelatingBuildingElement_ + * being a subtype of _IfcElement_ + +The local placement shall always be relative. + + + + Placement relative to the position and rotation of the element being voided. + + + + + + Since there are no Boolean operations, either as _IfcBooleanResult_ or implicitly by _IfcRelVoidsElement_ the geometry of the _IfcOpeningElement_ shall not be used to subtract the opening from the 'Body' shape representation of the voided element. @@ -5694,27 +5753,54 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - - - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5728,30 +5814,30 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - + + + - + - + @@ -5766,7 +5852,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -5786,29 +5872,29 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - + + - + - + @@ -5823,29 +5909,29 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - - - + + + - - + + - - + + @@ -5869,48 +5955,48 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - + + - + - + - - - + + + - + - + - + - - + + @@ -5925,22 +6011,22 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - - - + + + - - + + @@ -5960,69 +6046,69 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - - - - + + + + + + + + - + - + - - - - + + + + - + - + - - - - - + + + + + - + - + - + - - + + @@ -6037,22 +6123,22 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - - - + + + - - + + @@ -6072,33 +6158,33 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - - + + + + + + - + - + @@ -6113,29 +6199,29 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - - + + - - + + - - + + - - + + @@ -6143,10 +6229,10 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + @@ -6157,15 +6243,6 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - - - - - - - - - @@ -6181,10 +6258,10 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + @@ -6195,31 +6272,32 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a Main representation context for all sub contexts defining geometric representations in 3D coordinate space. - + Main representation subcontext for all 3D body geometry of model elements - + Representation subcontext for curve-based axis representation of model elements (wall axis, beam axis, etc.) - + - + - - - - - + + The representation context of the project refers to a global positioning, i.e. the local engineering coordinate system of the project has a mapping to a defined projected coordinate system (a rectangular map coordinate system, as used in GIS systems) + + + + The _IfcProject_ is used to reference the root of the spatial structure of a building or other construction project (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together, and to the _IfcProject_, by using the objectified relationship _IfcRelAggregates_. @@ -6239,136 +6317,16 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -6379,158 +6337,158 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + @@ -6545,7 +6503,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -6565,186 +6523,186 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - - - - - - - - - + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - - - + + + - + - + - + - + - - - - - - + + + + + + - + - + @@ -6759,7 +6717,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -6779,56 +6737,56 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - + - + - - + + - + - + - - - - + + + + - + - + - + - - - + + + @@ -6843,7 +6801,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -6863,31 +6821,31 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - + + + + - + - + @@ -6902,7 +6860,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + @@ -6910,10 +6868,10 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + @@ -6934,35 +6892,37 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - - - - + + + + + + + + + + - + - + @@ -6973,10 +6933,10 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + @@ -7001,32 +6961,32 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - + + + + + - + - + @@ -7041,22 +7001,22 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - - + + - - + + - - + + @@ -7064,10 +7024,10 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + @@ -7097,22 +7057,45 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -7121,7 +7104,7 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a The default geometric item to exchange the body shape representation of reinforcing elements is the _IfcSweptDiskSolid_ using the _IfcIndexedPolyCurve_ to describe the _Directrix_. - + The various subtypes of _IfcReinforcingElement_ do not support the concept of voiding - there shall no voids (openings, cut-outs, recesses) being defined as shape features for reinforcing elements. @@ -7135,21 +7118,24 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + + + + @@ -7167,22 +7153,49 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -7196,32 +7209,33 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + - + - + - - - - - + + + + + + - + - + @@ -7236,9 +7250,9 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - - - + + + @@ -7246,10 +7260,10 @@ As shown in Figure 31, the <em>IfcGrid</em> defines a - + - + @@ -7279,10 +7293,10 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7299,22 +7313,32 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + - + - + - + + + + + + + + + + + @@ -7329,7 +7353,7 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + @@ -7349,28 +7373,28 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + - + - + - + - + - + @@ -7385,7 +7409,7 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + @@ -7405,38 +7429,38 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + - + - + - - - - - - - - - - + + + + + + + + + + - + - - + + @@ -7447,10 +7471,10 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7464,10 +7488,10 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7499,10 +7523,10 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7515,39 +7539,39 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + - + - + - - - + + + - + - + - - - - - - + + + + + + @@ -7562,13 +7586,13 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7576,10 +7600,10 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7590,10 +7614,10 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7619,77 +7643,77 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + - + - + - - - - - - - - - - + + + + + + + + + + - + - + - + - + - - - - - - - - + + + + + + + + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -7704,31 +7728,31 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - - - - + + + + - - + + - - + + - - + + @@ -7736,10 +7760,10 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7760,28 +7784,30 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + - + - + - + + + - + - + @@ -7796,13 +7822,13 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7827,83 +7853,85 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + - - - - - - + + + + + + - + - + - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -7918,29 +7946,29 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - - - - - + + + + + - - - - - - + + + + + + - - + + @@ -7948,10 +7976,10 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -7971,10 +7999,10 @@ Figure 1 illustrates roof placement, with an _IfcRoof_ defining the local placem - + - + @@ -8017,10 +8045,10 @@ foot print of <em>IfcSpace</em>.</blockquote></td> - + - + @@ -8060,39 +8088,39 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - + - + - - - - - - - + + + + + + + - + - - - - - - + + + + + + @@ -8107,14 +8135,14 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - - + + @@ -8133,33 +8161,33 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - - - - - - - + + + + + + + - + - + - - - - - - + + + + + + @@ -8175,28 +8203,28 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + @@ -8246,28 +8274,28 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - + - + - + - + - + @@ -8282,7 +8310,7 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + @@ -8302,43 +8330,45 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - + @@ -8349,10 +8379,10 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + @@ -8377,38 +8407,38 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + - + - + @@ -8423,14 +8453,14 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - - + + @@ -8438,10 +8468,10 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + @@ -8456,15 +8486,6 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - - - - - - - - - @@ -8475,39 +8496,39 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - + - + - - - - - + + + + + - + - - + + - + - + @@ -8522,7 +8543,7 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + @@ -8532,6 +8553,33 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8542,26 +8590,26 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - + - + - - - - - + + + + + @@ -8572,10 +8620,10 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + @@ -8592,58 +8640,58 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - + - + - + - + - - + + - + - + - - - - - - - - - - + + + + + + + + + + - + - - - - - + + + + + @@ -8658,14 +8706,14 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - - + + - + @@ -8685,22 +8733,36 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - - + + - + + + + + + + + + + + + + + + + + + - - - @@ -8714,17 +8776,32 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - - + + - + + + + + + + + + + + + + + + + @@ -8740,44 +8817,51 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + - + - + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - - + + + + + + + + + @@ -8792,7 +8876,7 @@ Figure 1 shows an extrusion of an arbitrary profile definition with voids into t - + @@ -8815,31 +8899,31 @@ If no _IfcTransportElementType_ is attached&nbsp;(i.e. if only occurrence in - + - + - + - + - - - - + + + + - + - + @@ -8850,10 +8934,10 @@ If no _IfcTransportElementType_ is attached&nbsp;(i.e. if only occurrence in - + - + @@ -8870,42 +8954,42 @@ If no _IfcTransportElementType_ is attached&nbsp;(i.e. if only occurrence in - + - + - + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - + @@ -8920,8 +9004,8 @@ If no _IfcTransportElementType_ is attached&nbsp;(i.e. if only occurrence in - - + + @@ -8933,20 +9017,6 @@ If no _IfcTransportElementType_ is attached&nbsp;(i.e. if only occurrence in - - - The _RepresentationMaps_ define the type product shape and multiple geometric representations can be assigned. If a product occurrence is assigned to the type by using the _IfcRelDefinesByType_ relationship, then these occurrences have to reference the representation maps. The reference is created by one or multiple _IfcShapeRepresentation_'s having an _IfcMappedItem_ as _Items_, that places the _IfcRepresentationMap_ of the type product into the spatial contexts, i.e. by using an Cartesian transformation operator to transform the _IfcRepresentationMap_ into the object coordinate system of the product occurrence. - -Figure 1 illustrates an example of referencing a representation map by the shape representation of a product occurrence. Here the Cartesian transformation operator only uses translation, but no rotation, mirroring, or scaling. - -!["representation map"](../../figures/ifctypeproduct_representationmap-1.png "Figure 1 &mdash; Product type geometry with single placement") - -Figure 2 illustrates an example of referencing a representation multiple times map by the shape representation of a product occurrence. Here the Cartesian transformation operator only uses translation, but no rotation, mirroring, or scaling. The different translation values determine the pattern of the multiple placement. - -!["representation map"](../../figures/ifctypeproduct_representationmap-2.png "Figure 2 &mdash; Product type geometry with multiple placement") - - - @@ -8959,34 +9029,34 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + - + - + - + - + - + - + - + @@ -9001,7 +9071,7 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + @@ -9021,28 +9091,28 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + - + - + - + - + - + @@ -9057,7 +9127,7 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + @@ -9077,35 +9147,36 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + - + - + - - - - - - + + + + + + - + - - - + + + + @@ -9120,7 +9191,7 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + @@ -9140,27 +9211,33 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + - + - + - - - - - - + + + + + + + + + + + + @@ -9175,7 +9252,7 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + @@ -9191,12 +9268,42 @@ Figure 2 illustrates an example of referencing a representation multiple times m + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9210,57 +9317,57 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + - + - + - - - - - - - - - - + + + + + + + + + + - + - + - + - + - - - - - + + + + + - + - + @@ -9275,32 +9382,32 @@ Figure 2 illustrates an example of referencing a representation multiple times m - - - + + + - - - - + + + + - - + + - - + + @@ -9308,10 +9415,10 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + @@ -9328,28 +9435,28 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + - + - + - + - + - + @@ -9364,7 +9471,7 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + @@ -9377,45 +9484,48 @@ Figure 2 illustrates an example of referencing a representation multiple times m + + The _IfcWindowTypePartitioningEnum_ defines the general layout of the window type and its symbolic presentation. Depending on the enumerator, the appropriate instances of _IfcWindowLiningProperties_ and _IfcWindowPanelProperties_ are attached in the list of _HasPropertySets_. The _IfcWindowTypePartitioningEnum_ mainly determines the way of partitioning the window into individual window panels and thereby number and position of window panels. + +See _IfcWindowTypePartitioningEnum_ for the correct usage of panel partitioning and _IfcWindowPanelProperties_ for the opening symbols for different panel operation types. + + - + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - - - @@ -9423,10 +9533,10 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + @@ -9438,15 +9548,15 @@ Figure 2 illustrates an example of referencing a representation multiple times m - - - + + + - + @@ -9454,15 +9564,23 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + - The material of the _IfcWindow_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_ relationship. + The material of the _IfcWindow_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_ relationship. It is accessible by the inverse _HasAssociations_ relationship. + +The following keywords for _IfcMaterialConstituentSet.MaterialConstituents[n].Name_ shall be used: + +* 'Lining' - to indicate that the material constituent applies to to the window lining +* 'Framing' - to indicate that the material constituent applies to to the window panels, if not provided, the 'Lining' material information applied to panels as well +* 'Glazing' - to indicate that the material constituent applies to to the glazing part + +If the fall back single _IfcMaterial_ is referenced, it applies to the lining and framing of the window. @@ -9474,17 +9592,17 @@ Figure 2 illustrates an example of referencing a representation multiple times m - + - + - - - - - - + + + + + + diff --git a/ModelViews/Reference View/Documentation.md b/ModelViews/Reference View/Documentation.md index f4a2fe2eb..7baa41b93 100644 --- a/ModelViews/Reference View/Documentation.md +++ b/ModelViews/Reference View/Documentation.md @@ -356,7 +356,7 @@ In scope of presentation capabilities for the appearance of model element shapes * "_Surface Style Shading_", applying a single coloring for each solid; * "_Surface Style Rendering_", applying a single rendering (color, transparency, reflection, etc.) for each solid; -* "_Surface Style textures_", applying a single texture for each solid according to a texture mapping based on the solid type; +* "_Surface_", applying a single texture for each solid according to a texture mapping based on the solid type; * "_Suface Style Tessellation_", applying a color and/or texture for each face of a tessellated solid. The visually adaquate presentation of model elements is constraint by the shape representation diff --git a/Properties/a/ActiveCellSurfaceAreaFraction_2QcZNIbVXDLekiPbViU_nz/DocProperty.xml b/Properties/a/ActiveCellSurfaceAreaFraction_2QcZNIbVXDLekiPbViU_nz/DocProperty.xml new file mode 100644 index 000000000..d09d0b1e5 --- /dev/null +++ b/Properties/a/ActiveCellSurfaceAreaFraction_2QcZNIbVXDLekiPbViU_nz/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/a/ActiveCellSurfaceAreaFraction_2QcZNIbVXDLekiPbViU_nz/Documentation.md b/Properties/a/ActiveCellSurfaceAreaFraction_2QcZNIbVXDLekiPbViU_nz/Documentation.md new file mode 100644 index 000000000..c1e75dfc8 --- /dev/null +++ b/Properties/a/ActiveCellSurfaceAreaFraction_2QcZNIbVXDLekiPbViU_nz/Documentation.md @@ -0,0 +1 @@ +The percentage of surface area containing active solar cells. Note: the surface area may be provided at Qto_SolarDeviceBaseQuantities.GrossArea. diff --git a/Properties/b/BarLength_3IWtxiBfL3dvVCxlV83MM0/DocProperty.xml b/Properties/b/BarLength_3IWtxiBfL3dvVCxlV83MM0/DocProperty.xml new file mode 100644 index 000000000..0dc661d8e --- /dev/null +++ b/Properties/b/BarLength_3IWtxiBfL3dvVCxlV83MM0/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/b/BarLength_3IWtxiBfL3dvVCxlV83MM0/Documentation.md b/Properties/b/BarLength_3IWtxiBfL3dvVCxlV83MM0/Documentation.md new file mode 100644 index 000000000..f81117a53 --- /dev/null +++ b/Properties/b/BarLength_3IWtxiBfL3dvVCxlV83MM0/Documentation.md @@ -0,0 +1 @@ +The total length of the reinforcing bar. The total length of bended bars are calculated according to local standards with corrections for the bends. diff --git a/Properties/b/BarSpacing_00B12bISHCqw0gVJfym_Sc/DocProperty.xml b/Properties/b/BarSpacing_00B12bISHCqw0gVJfym_Sc/DocProperty.xml new file mode 100644 index 000000000..2884c96f1 --- /dev/null +++ b/Properties/b/BarSpacing_00B12bISHCqw0gVJfym_Sc/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/b/BarSpacing_00B12bISHCqw0gVJfym_Sc/Documentation.md b/Properties/b/BarSpacing_00B12bISHCqw0gVJfym_Sc/Documentation.md new file mode 100644 index 000000000..d0766dbf3 --- /dev/null +++ b/Properties/b/BarSpacing_00B12bISHCqw0gVJfym_Sc/Documentation.md @@ -0,0 +1 @@ +The spacing between bars if constant. diff --git a/Properties/b/BarSurface_2qkJc4Qq9Blec78Vl$3MoE/DocProperty.xml b/Properties/b/BarSurface_2qkJc4Qq9Blec78Vl$3MoE/DocProperty.xml new file mode 100644 index 000000000..57117217c --- /dev/null +++ b/Properties/b/BarSurface_2qkJc4Qq9Blec78Vl$3MoE/DocProperty.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Properties/b/BarSurface_2qkJc4Qq9Blec78Vl$3MoE/Documentation.md b/Properties/b/BarSurface_2qkJc4Qq9Blec78Vl$3MoE/Documentation.md new file mode 100644 index 000000000..9ff08f4db --- /dev/null +++ b/Properties/b/BarSurface_2qkJc4Qq9Blec78Vl$3MoE/Documentation.md @@ -0,0 +1 @@ +Indicator for whether the bar surface is plain or textured. diff --git a/Properties/b/BendingParameters_1sRVDIkIP8QepwvE87UG0J/DocProperty.xml b/Properties/b/BendingParameters_1sRVDIkIP8QepwvE87UG0J/DocProperty.xml new file mode 100644 index 000000000..db0983cff --- /dev/null +++ b/Properties/b/BendingParameters_1sRVDIkIP8QepwvE87UG0J/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/b/BendingParameters_1sRVDIkIP8QepwvE87UG0J/Documentation.md b/Properties/b/BendingParameters_1sRVDIkIP8QepwvE87UG0J/Documentation.md new file mode 100644 index 000000000..4de74b343 --- /dev/null +++ b/Properties/b/BendingParameters_1sRVDIkIP8QepwvE87UG0J/Documentation.md @@ -0,0 +1 @@ +If this mesh type is bent rather than planar, this attribute provides bending shape parameters. Their meaning is defined by the bending shape code and the respective standard. diff --git a/Properties/b/BendingShapeCode_2udkp8mjH5yw9fEAvfSOcg/DocProperty.xml b/Properties/b/BendingShapeCode_2udkp8mjH5yw9fEAvfSOcg/DocProperty.xml new file mode 100644 index 000000000..d22096351 --- /dev/null +++ b/Properties/b/BendingShapeCode_2udkp8mjH5yw9fEAvfSOcg/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/b/BendingShapeCode_2udkp8mjH5yw9fEAvfSOcg/Documentation.md b/Properties/b/BendingShapeCode_2udkp8mjH5yw9fEAvfSOcg/Documentation.md new file mode 100644 index 000000000..59aba4dcc --- /dev/null +++ b/Properties/b/BendingShapeCode_2udkp8mjH5yw9fEAvfSOcg/Documentation.md @@ -0,0 +1 @@ +Shape code per a standard like ACI 315, ISO 3766, or a similar standard. It is presumed that a single standard for defining the bar bending is used throughout the project and that this standard is referenced from the _IfcProject_ object through the _IfcDocumentReference_ mechanism. diff --git a/Properties/c/CellEfficiency_03JspggTX8tub0GPwCT481/DocProperty.xml b/Properties/c/CellEfficiency_03JspggTX8tub0GPwCT481/DocProperty.xml new file mode 100644 index 000000000..af54891ba --- /dev/null +++ b/Properties/c/CellEfficiency_03JspggTX8tub0GPwCT481/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/c/CellEfficiency_03JspggTX8tub0GPwCT481/Documentation.md b/Properties/c/CellEfficiency_03JspggTX8tub0GPwCT481/Documentation.md new file mode 100644 index 000000000..a8e26701c --- /dev/null +++ b/Properties/c/CellEfficiency_03JspggTX8tub0GPwCT481/Documentation.md @@ -0,0 +1 @@ +The ratio of power generated divided by incident solar power. diff --git a/Properties/e/EfficiencyCurve_2aEBZ2UfnEdPbsufO9yZqy/DocProperty.xml b/Properties/e/EfficiencyCurve_2aEBZ2UfnEdPbsufO9yZqy/DocProperty.xml new file mode 100644 index 000000000..036d1a93a --- /dev/null +++ b/Properties/e/EfficiencyCurve_2aEBZ2UfnEdPbsufO9yZqy/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/e/EfficiencyCurve_2aEBZ2UfnEdPbsufO9yZqy/Documentation.md b/Properties/e/EfficiencyCurve_2aEBZ2UfnEdPbsufO9yZqy/Documentation.md new file mode 100644 index 000000000..9058a7a84 --- /dev/null +++ b/Properties/e/EfficiencyCurve_2aEBZ2UfnEdPbsufO9yZqy/Documentation.md @@ -0,0 +1 @@ +The ratio of power transformed according to fractional load, where the first value indicates the load percentage and the second value indicates the efficiency of power transformation. diff --git a/Properties/h/HeatTransferTypeEnum_2eawM0qS0HuO00025QrE$V/DocProperty.xml b/Properties/h/HeatTransferType_2eawM0qS0HuO00025QrE$V/DocProperty.xml similarity index 68% rename from Properties/h/HeatTransferTypeEnum_2eawM0qS0HuO00025QrE$V/DocProperty.xml rename to Properties/h/HeatTransferType_2eawM0qS0HuO00025QrE$V/DocProperty.xml index 7b77c5c30..330546cdf 100644 --- a/Properties/h/HeatTransferTypeEnum_2eawM0qS0HuO00025QrE$V/DocProperty.xml +++ b/Properties/h/HeatTransferType_2eawM0qS0HuO00025QrE$V/DocProperty.xml @@ -1,5 +1,5 @@  - + @@ -10,7 +10,7 @@ - + diff --git a/Properties/h/HeatTransferTypeEnum_2eawM0qS0HuO00025QrE$V/Documentation.md b/Properties/h/HeatTransferType_2eawM0qS0HuO00025QrE$V/Documentation.md similarity index 100% rename from Properties/h/HeatTransferTypeEnum_2eawM0qS0HuO00025QrE$V/Documentation.md rename to Properties/h/HeatTransferType_2eawM0qS0HuO00025QrE$V/Documentation.md diff --git a/Properties/l/Level_2FfK7VEQ18bfS6UW5bjDs3/DocProperty.xml b/Properties/l/Level_2FfK7VEQ18bfS6UW5bjDs3/DocProperty.xml new file mode 100644 index 000000000..7f7a6c4ac --- /dev/null +++ b/Properties/l/Level_2FfK7VEQ18bfS6UW5bjDs3/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/l/Level_2FfK7VEQ18bfS6UW5bjDs3/Documentation.md b/Properties/l/Level_2FfK7VEQ18bfS6UW5bjDs3/Documentation.md new file mode 100644 index 000000000..32cb2be9d --- /dev/null +++ b/Properties/l/Level_2FfK7VEQ18bfS6UW5bjDs3/Documentation.md @@ -0,0 +1 @@ +The level of the tank as a fraction of its available capacity. diff --git a/Properties/l/Level_2YT$iVpSfFp9mfXZHHYn1c/DocProperty.xml b/Properties/l/Level_2YT$iVpSfFp9mfXZHHYn1c/DocProperty.xml new file mode 100644 index 000000000..6e00a4d19 --- /dev/null +++ b/Properties/l/Level_2YT$iVpSfFp9mfXZHHYn1c/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/l/Level_2YT$iVpSfFp9mfXZHHYn1c/Documentation.md b/Properties/l/Level_2YT$iVpSfFp9mfXZHHYn1c/Documentation.md new file mode 100644 index 000000000..25f5b9930 --- /dev/null +++ b/Properties/l/Level_2YT$iVpSfFp9mfXZHHYn1c/Documentation.md @@ -0,0 +1 @@ +The fraction of usable energy stored. diff --git a/Properties/l/LongitudinalBarNominalDiameter_217XYJrM132RcHgHGWOKKm/DocProperty.xml b/Properties/l/LongitudinalBarNominalDiameter_217XYJrM132RcHgHGWOKKm/DocProperty.xml new file mode 100644 index 000000000..9a51a817d --- /dev/null +++ b/Properties/l/LongitudinalBarNominalDiameter_217XYJrM132RcHgHGWOKKm/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/l/LongitudinalBarSpacing_0zQBvuVW98lQnxrINKc$Sn/DocProperty.xml b/Properties/l/LongitudinalBarSpacing_0zQBvuVW98lQnxrINKc$Sn/DocProperty.xml new file mode 100644 index 000000000..30c9ad6c6 --- /dev/null +++ b/Properties/l/LongitudinalBarSpacing_0zQBvuVW98lQnxrINKc$Sn/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/l/LongitudinalBarSurface_3RS_y7y2n1RPrkDG$xtLOH/DocProperty.xml b/Properties/l/LongitudinalBarSurface_3RS_y7y2n1RPrkDG$xtLOH/DocProperty.xml new file mode 100644 index 000000000..53161b7c4 --- /dev/null +++ b/Properties/l/LongitudinalBarSurface_3RS_y7y2n1RPrkDG$xtLOH/DocProperty.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Properties/l/LongitudinalBarSurface_3RS_y7y2n1RPrkDG$xtLOH/Documentation.md b/Properties/l/LongitudinalBarSurface_3RS_y7y2n1RPrkDG$xtLOH/Documentation.md new file mode 100644 index 000000000..9ff08f4db --- /dev/null +++ b/Properties/l/LongitudinalBarSurface_3RS_y7y2n1RPrkDG$xtLOH/Documentation.md @@ -0,0 +1 @@ +Indicator for whether the bar surface is plain or textured. diff --git a/Properties/m/MeshLength_08AQo8cYP6PROJADN7$tya/DocProperty.xml b/Properties/m/MeshLength_08AQo8cYP6PROJADN7$tya/DocProperty.xml new file mode 100644 index 000000000..07192bb6c --- /dev/null +++ b/Properties/m/MeshLength_08AQo8cYP6PROJADN7$tya/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/m/MeshWidth_2HI9158knE_gLETqt1OCJx/DocProperty.xml b/Properties/m/MeshWidth_2HI9158knE_gLETqt1OCJx/DocProperty.xml new file mode 100644 index 000000000..df784afb0 --- /dev/null +++ b/Properties/m/MeshWidth_2HI9158knE_gLETqt1OCJx/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/m/ModuleCapacity_1u4zdKW6XFUQoYarMQLbtq/DocProperty.xml b/Properties/m/ModuleCapacity_1u4zdKW6XFUQoYarMQLbtq/DocProperty.xml new file mode 100644 index 000000000..911f67fee --- /dev/null +++ b/Properties/m/ModuleCapacity_1u4zdKW6XFUQoYarMQLbtq/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/m/ModuleCapacity_1u4zdKW6XFUQoYarMQLbtq/Documentation.md b/Properties/m/ModuleCapacity_1u4zdKW6XFUQoYarMQLbtq/Documentation.md new file mode 100644 index 000000000..5a8677755 --- /dev/null +++ b/Properties/m/ModuleCapacity_1u4zdKW6XFUQoYarMQLbtq/Documentation.md @@ -0,0 +1 @@ +The capacity for each battery module. diff --git a/Properties/m/ModulesInParallel_1aH6j1SE99_fngHMIHVC$P/DocProperty.xml b/Properties/m/ModulesInParallel_1aH6j1SE99_fngHMIHVC$P/DocProperty.xml new file mode 100644 index 000000000..168ac8a31 --- /dev/null +++ b/Properties/m/ModulesInParallel_1aH6j1SE99_fngHMIHVC$P/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/m/ModulesInParallel_1aH6j1SE99_fngHMIHVC$P/Documentation.md b/Properties/m/ModulesInParallel_1aH6j1SE99_fngHMIHVC$P/Documentation.md new file mode 100644 index 000000000..f5c80cfba --- /dev/null +++ b/Properties/m/ModulesInParallel_1aH6j1SE99_fngHMIHVC$P/Documentation.md @@ -0,0 +1 @@ +The number of modules in parallel, where the total number of modules equals the number in parallel multiplied by the number in series. diff --git a/Properties/m/ModulesInSeries_2SCdldRMz1EQkVMCQbp7gQ/DocProperty.xml b/Properties/m/ModulesInSeries_2SCdldRMz1EQkVMCQbp7gQ/DocProperty.xml new file mode 100644 index 000000000..67cdc1819 --- /dev/null +++ b/Properties/m/ModulesInSeries_2SCdldRMz1EQkVMCQbp7gQ/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/m/ModulesInSeries_2SCdldRMz1EQkVMCQbp7gQ/Documentation.md b/Properties/m/ModulesInSeries_2SCdldRMz1EQkVMCQbp7gQ/Documentation.md new file mode 100644 index 000000000..6b08df1bd --- /dev/null +++ b/Properties/m/ModulesInSeries_2SCdldRMz1EQkVMCQbp7gQ/Documentation.md @@ -0,0 +1 @@ +The number of modules in series, where the total number of modules equals the number in parallel multiplied by the number in series. diff --git a/Properties/n/NominalDiameter_0A8c8X4yP2xOKuafrNBsaG/DocProperty.xml b/Properties/n/NominalDiameter_0A8c8X4yP2xOKuafrNBsaG/DocProperty.xml new file mode 100644 index 000000000..9f1ea9532 --- /dev/null +++ b/Properties/n/NominalDiameter_0A8c8X4yP2xOKuafrNBsaG/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/n/NominalDiameter_0A8c8X4yP2xOKuafrNBsaG/Documentation.md b/Properties/n/NominalDiameter_0A8c8X4yP2xOKuafrNBsaG/Documentation.md new file mode 100644 index 000000000..a242307b3 --- /dev/null +++ b/Properties/n/NominalDiameter_0A8c8X4yP2xOKuafrNBsaG/Documentation.md @@ -0,0 +1 @@ +The nominal diameter defining the cross-section size of the prestressed part of the tendon. diff --git a/Properties/n/NominalDiameter_18BXd89sj1xRbNqTu43bvX/DocProperty.xml b/Properties/n/NominalDiameter_18BXd89sj1xRbNqTu43bvX/DocProperty.xml new file mode 100644 index 000000000..acc7732ba --- /dev/null +++ b/Properties/n/NominalDiameter_18BXd89sj1xRbNqTu43bvX/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/n/NominalDiameter_18BXd89sj1xRbNqTu43bvX/Documentation.md b/Properties/n/NominalDiameter_18BXd89sj1xRbNqTu43bvX/Documentation.md new file mode 100644 index 000000000..97d048dee --- /dev/null +++ b/Properties/n/NominalDiameter_18BXd89sj1xRbNqTu43bvX/Documentation.md @@ -0,0 +1 @@ +The nominal diameter describing the cross-section size of the fastener type. diff --git a/Properties/n/NominalDiameter_3chH1GISj16wMEb$kUhUKU/DocProperty.xml b/Properties/n/NominalDiameter_3chH1GISj16wMEb$kUhUKU/DocProperty.xml new file mode 100644 index 000000000..f0c89298e --- /dev/null +++ b/Properties/n/NominalDiameter_3chH1GISj16wMEb$kUhUKU/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/n/NominalDiameter_3chH1GISj16wMEb$kUhUKU/Documentation.md b/Properties/n/NominalDiameter_3chH1GISj16wMEb$kUhUKU/Documentation.md new file mode 100644 index 000000000..4ba400600 --- /dev/null +++ b/Properties/n/NominalDiameter_3chH1GISj16wMEb$kUhUKU/Documentation.md @@ -0,0 +1 @@ +The nominal diameter defining the cross-section size of the reinforcing bar. diff --git a/Properties/n/NominalLength_1zu$08e7f1bBfiI$1wPJDE/DocProperty.xml b/Properties/n/NominalLength_1zu$08e7f1bBfiI$1wPJDE/DocProperty.xml new file mode 100644 index 000000000..784fb9558 --- /dev/null +++ b/Properties/n/NominalLength_1zu$08e7f1bBfiI$1wPJDE/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/n/NominalLength_1zu$08e7f1bBfiI$1wPJDE/Documentation.md b/Properties/n/NominalLength_1zu$08e7f1bBfiI$1wPJDE/Documentation.md new file mode 100644 index 000000000..02012e98a --- /dev/null +++ b/Properties/n/NominalLength_1zu$08e7f1bBfiI$1wPJDE/Documentation.md @@ -0,0 +1 @@ +The nominal length describing the longitudinal dimensions of the fastener type. diff --git a/Properties/p/Pressure_1FGUp2JnjDm9WSf7MzUIVG/DocProperty.xml b/Properties/p/Pressure_1FGUp2JnjDm9WSf7MzUIVG/DocProperty.xml new file mode 100644 index 000000000..92d9dda13 --- /dev/null +++ b/Properties/p/Pressure_1FGUp2JnjDm9WSf7MzUIVG/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/p/Pressure_1FGUp2JnjDm9WSf7MzUIVG/Documentation.md b/Properties/p/Pressure_1FGUp2JnjDm9WSf7MzUIVG/Documentation.md new file mode 100644 index 000000000..8d00a7a34 --- /dev/null +++ b/Properties/p/Pressure_1FGUp2JnjDm9WSf7MzUIVG/Documentation.md @@ -0,0 +1 @@ +The pressure of the substance in the tank. diff --git a/Properties/r/RadiativeFraction_1NpylN_VP5vxDPzrJD433R/DocProperty.xml b/Properties/r/RadiativeFraction_1NpylN_VP5vxDPzrJD433R/DocProperty.xml new file mode 100644 index 000000000..7e5d950e5 --- /dev/null +++ b/Properties/r/RadiativeFraction_1NpylN_VP5vxDPzrJD433R/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/r/RadiativeFraction_1NpylN_VP5vxDPzrJD433R/Documentation.md b/Properties/r/RadiativeFraction_1NpylN_VP5vxDPzrJD433R/Documentation.md new file mode 100644 index 000000000..8dc33f81f --- /dev/null +++ b/Properties/r/RadiativeFraction_1NpylN_VP5vxDPzrJD433R/Documentation.md @@ -0,0 +1 @@ +The fraction of energy converted to heat. diff --git a/Properties/r/RadiativeFraction_1yXe9WHHj80uzFn9Zy3ZgR/DocProperty.xml b/Properties/r/RadiativeFraction_1yXe9WHHj80uzFn9Zy3ZgR/DocProperty.xml new file mode 100644 index 000000000..c5fb6ebba --- /dev/null +++ b/Properties/r/RadiativeFraction_1yXe9WHHj80uzFn9Zy3ZgR/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/r/RadiativeFraction_1yXe9WHHj80uzFn9Zy3ZgR/Documentation.md b/Properties/r/RadiativeFraction_1yXe9WHHj80uzFn9Zy3ZgR/Documentation.md new file mode 100644 index 000000000..8dc33f81f --- /dev/null +++ b/Properties/r/RadiativeFraction_1yXe9WHHj80uzFn9Zy3ZgR/Documentation.md @@ -0,0 +1 @@ +The fraction of energy converted to heat. diff --git a/Properties/r/Reference_0Jgg8uKTf3neyMWuiNJaPs/DocProperty.xml b/Properties/r/Reference_0Jgg8uKTf3neyMWuiNJaPs/DocProperty.xml new file mode 100644 index 000000000..aefbad110 --- /dev/null +++ b/Properties/r/Reference_0Jgg8uKTf3neyMWuiNJaPs/DocProperty.xml @@ -0,0 +1,10 @@ + + + + + + 当プロジェクトにおけるこの指定型式のためのリファレンスID。(たとえは、'A-1'型) + + + + diff --git a/Properties/r/Reference_0Jgg8uKTf3neyMWuiNJaPs/Documentation.md b/Properties/r/Reference_0Jgg8uKTf3neyMWuiNJaPs/Documentation.md new file mode 100644 index 000000000..2208d22d9 --- /dev/null +++ b/Properties/r/Reference_0Jgg8uKTf3neyMWuiNJaPs/Documentation.md @@ -0,0 +1 @@ +Reference ID for this specified type in this project (e.g. type 'A-1'). diff --git a/Properties/r/Reference_1s$wXlplz2OAWsqC1oj_Ci/DocProperty.xml b/Properties/r/Reference_1s$wXlplz2OAWsqC1oj_Ci/DocProperty.xml new file mode 100644 index 000000000..fac2e6586 --- /dev/null +++ b/Properties/r/Reference_1s$wXlplz2OAWsqC1oj_Ci/DocProperty.xml @@ -0,0 +1,10 @@ + + + + + + 当プロジェクトにおけるこの指定型式のためのリファレンスID。(たとえは、'A-1'型) + + + + diff --git a/Properties/r/Reference_1s$wXlplz2OAWsqC1oj_Ci/Documentation.md b/Properties/r/Reference_1s$wXlplz2OAWsqC1oj_Ci/Documentation.md new file mode 100644 index 000000000..2208d22d9 --- /dev/null +++ b/Properties/r/Reference_1s$wXlplz2OAWsqC1oj_Ci/Documentation.md @@ -0,0 +1 @@ +Reference ID for this specified type in this project (e.g. type 'A-1'). diff --git a/Properties/r/Reference_2rbnE3HtHD6hMy4aEGfmky/DocProperty.xml b/Properties/r/Reference_2rbnE3HtHD6hMy4aEGfmky/DocProperty.xml new file mode 100644 index 000000000..ffb5d2f37 --- /dev/null +++ b/Properties/r/Reference_2rbnE3HtHD6hMy4aEGfmky/DocProperty.xml @@ -0,0 +1,10 @@ + + + + + + 当プロジェクトにおけるこの指定型式のためのリファレンスID。(たとえは、'A-1'型) + + + + diff --git a/Properties/r/Reference_2rbnE3HtHD6hMy4aEGfmky/Documentation.md b/Properties/r/Reference_2rbnE3HtHD6hMy4aEGfmky/Documentation.md new file mode 100644 index 000000000..2208d22d9 --- /dev/null +++ b/Properties/r/Reference_2rbnE3HtHD6hMy4aEGfmky/Documentation.md @@ -0,0 +1 @@ +Reference ID for this specified type in this project (e.g. type 'A-1'). diff --git a/Properties/r/Reference_3PnSsV2xH5FxPu61GHLOnT/DocProperty.xml b/Properties/r/Reference_3PnSsV2xH5FxPu61GHLOnT/DocProperty.xml new file mode 100644 index 000000000..0020dfd37 --- /dev/null +++ b/Properties/r/Reference_3PnSsV2xH5FxPu61GHLOnT/DocProperty.xml @@ -0,0 +1,10 @@ + + + + + + 当プロジェクトにおけるこの指定型式のためのリファレンスID。(たとえは、'A-1'型) + + + + diff --git a/Properties/r/Reference_3PnSsV2xH5FxPu61GHLOnT/Documentation.md b/Properties/r/Reference_3PnSsV2xH5FxPu61GHLOnT/Documentation.md new file mode 100644 index 000000000..2208d22d9 --- /dev/null +++ b/Properties/r/Reference_3PnSsV2xH5FxPu61GHLOnT/Documentation.md @@ -0,0 +1 @@ +Reference ID for this specified type in this project (e.g. type 'A-1'). diff --git a/Properties/s/SheathDiameter_2bINAwQGv0JRbqIZPSxDEp/DocProperty.xml b/Properties/s/SheathDiameter_2bINAwQGv0JRbqIZPSxDEp/DocProperty.xml new file mode 100644 index 000000000..5478d57a1 --- /dev/null +++ b/Properties/s/SheathDiameter_2bINAwQGv0JRbqIZPSxDEp/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/s/SheathDiameter_2bINAwQGv0JRbqIZPSxDEp/Documentation.md b/Properties/s/SheathDiameter_2bINAwQGv0JRbqIZPSxDEp/Documentation.md new file mode 100644 index 000000000..a98ff4b5d --- /dev/null +++ b/Properties/s/SheathDiameter_2bINAwQGv0JRbqIZPSxDEp/Documentation.md @@ -0,0 +1 @@ +Diameter of the sheeth (duct) around the tendon, if there is one with this type of tendon. diff --git a/Properties/s/Status_0Ps5H$cmr3GAgf1o7xNvqx/DocProperty.xml b/Properties/s/Status_0Ps5H$cmr3GAgf1o7xNvqx/DocProperty.xml new file mode 100644 index 000000000..bd70dec08 --- /dev/null +++ b/Properties/s/Status_0Ps5H$cmr3GAgf1o7xNvqx/DocProperty.xml @@ -0,0 +1,13 @@ + + + + + + 要素(主にリノベーションまたは改修プロジェクトにおいて)の状態。 状態は、「新規(New)」-新しく追加される要素。「既存」-要素は存在し、かつ残りもの。「破壊」-要素は存在したが、廃棄されるもの。「一時的」-一時的に存在する要素(一時的にサポートしている構造のようなもの)。 + + + + + + + diff --git a/Properties/s/Status_0Ps5H$cmr3GAgf1o7xNvqx/Documentation.md b/Properties/s/Status_0Ps5H$cmr3GAgf1o7xNvqx/Documentation.md new file mode 100644 index 000000000..1aefa4ee0 --- /dev/null +++ b/Properties/s/Status_0Ps5H$cmr3GAgf1o7xNvqx/Documentation.md @@ -0,0 +1 @@ +Status of the element, predominately used in renovation or retrofitting projects. The status can be assigned to as "New" - element designed as new addition, "Existing" - element exists and remains, "Demolish" - element existed but is to be demolished, "Temporary" - element will exists only temporary (like a temporary support structure). diff --git a/Properties/s/Status_0w6CEEvBH8_82OWPi$yp0J/DocProperty.xml b/Properties/s/Status_0w6CEEvBH8_82OWPi$yp0J/DocProperty.xml new file mode 100644 index 000000000..941914702 --- /dev/null +++ b/Properties/s/Status_0w6CEEvBH8_82OWPi$yp0J/DocProperty.xml @@ -0,0 +1,13 @@ + + + + + + 要素(主にリノベーションまたは改修プロジェクトにおいて)の状態。 状態は、「新規(New)」-新しく追加される要素。「既存」-要素は存在し、かつ残りもの。「破壊」-要素は存在したが、廃棄されるもの。「一時的」-一時的に存在する要素(一時的にサポートしている構造のようなもの)。 + + + + + + + diff --git a/Properties/s/Status_0w6CEEvBH8_82OWPi$yp0J/Documentation.md b/Properties/s/Status_0w6CEEvBH8_82OWPi$yp0J/Documentation.md new file mode 100644 index 000000000..1aefa4ee0 --- /dev/null +++ b/Properties/s/Status_0w6CEEvBH8_82OWPi$yp0J/Documentation.md @@ -0,0 +1 @@ +Status of the element, predominately used in renovation or retrofitting projects. The status can be assigned to as "New" - element designed as new addition, "Existing" - element exists and remains, "Demolish" - element existed but is to be demolished, "Temporary" - element will exists only temporary (like a temporary support structure). diff --git a/Properties/s/Status_1zU_Y7TWrFux4mAMFtlCsA/DocProperty.xml b/Properties/s/Status_1zU_Y7TWrFux4mAMFtlCsA/DocProperty.xml new file mode 100644 index 000000000..10fc86a0c --- /dev/null +++ b/Properties/s/Status_1zU_Y7TWrFux4mAMFtlCsA/DocProperty.xml @@ -0,0 +1,13 @@ + + + + + + 要素(主にリノベーションまたは改修プロジェクトにおいて)の状態。 状態は、「新規(New)」-新しく追加される要素。「既存」-要素は存在し、かつ残りもの。「破壊」-要素は存在したが、廃棄されるもの。「一時的」-一時的に存在する要素(一時的にサポートしている構造のようなもの)。 + + + + + + + diff --git a/Properties/s/Status_1zU_Y7TWrFux4mAMFtlCsA/Documentation.md b/Properties/s/Status_1zU_Y7TWrFux4mAMFtlCsA/Documentation.md new file mode 100644 index 000000000..1aefa4ee0 --- /dev/null +++ b/Properties/s/Status_1zU_Y7TWrFux4mAMFtlCsA/Documentation.md @@ -0,0 +1 @@ +Status of the element, predominately used in renovation or retrofitting projects. The status can be assigned to as "New" - element designed as new addition, "Existing" - element exists and remains, "Demolish" - element existed but is to be demolished, "Temporary" - element will exists only temporary (like a temporary support structure). diff --git a/Properties/s/Status_2gyMFQ3PL8sfxliEzsgytX/DocProperty.xml b/Properties/s/Status_2gyMFQ3PL8sfxliEzsgytX/DocProperty.xml new file mode 100644 index 000000000..14760a8b3 --- /dev/null +++ b/Properties/s/Status_2gyMFQ3PL8sfxliEzsgytX/DocProperty.xml @@ -0,0 +1,13 @@ + + + + + + 要素(主にリノベーションまたは改修プロジェクトにおいて)の状態。 状態は、「新規(New)」-新しく追加される要素。「既存」-要素は存在し、かつ残りもの。「破壊」-要素は存在したが、廃棄されるもの。「一時的」-一時的に存在する要素(一時的にサポートしている構造のようなもの)。 + + + + + + + diff --git a/Properties/s/Status_2gyMFQ3PL8sfxliEzsgytX/Documentation.md b/Properties/s/Status_2gyMFQ3PL8sfxliEzsgytX/Documentation.md new file mode 100644 index 000000000..1aefa4ee0 --- /dev/null +++ b/Properties/s/Status_2gyMFQ3PL8sfxliEzsgytX/Documentation.md @@ -0,0 +1 @@ +Status of the element, predominately used in renovation or retrofitting projects. The status can be assigned to as "New" - element designed as new addition, "Existing" - element exists and remains, "Demolish" - element existed but is to be demolished, "Temporary" - element will exists only temporary (like a temporary support structure). diff --git a/Properties/t/Temperature_1xwFoGmszAiv4oRrZSViTy/DocProperty.xml b/Properties/t/Temperature_1xwFoGmszAiv4oRrZSViTy/DocProperty.xml new file mode 100644 index 000000000..7df54228a --- /dev/null +++ b/Properties/t/Temperature_1xwFoGmszAiv4oRrZSViTy/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/t/Temperature_1xwFoGmszAiv4oRrZSViTy/Documentation.md b/Properties/t/Temperature_1xwFoGmszAiv4oRrZSViTy/Documentation.md new file mode 100644 index 000000000..5aae5b209 --- /dev/null +++ b/Properties/t/Temperature_1xwFoGmszAiv4oRrZSViTy/Documentation.md @@ -0,0 +1 @@ +The temperature of the substance in the tank. diff --git a/Properties/t/TransverseBarBendingParameters_0$taXa9srEXB9I1d3ai9u4/DocProperty.xml b/Properties/t/TransverseBarBendingParameters_0$taXa9srEXB9I1d3ai9u4/DocProperty.xml new file mode 100644 index 000000000..90fa0a170 --- /dev/null +++ b/Properties/t/TransverseBarBendingParameters_0$taXa9srEXB9I1d3ai9u4/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/t/TransverseBarBendingParameters_0$taXa9srEXB9I1d3ai9u4/Documentation.md b/Properties/t/TransverseBarBendingParameters_0$taXa9srEXB9I1d3ai9u4/Documentation.md new file mode 100644 index 000000000..4de74b343 --- /dev/null +++ b/Properties/t/TransverseBarBendingParameters_0$taXa9srEXB9I1d3ai9u4/Documentation.md @@ -0,0 +1 @@ +If this mesh type is bent rather than planar, this attribute provides bending shape parameters. Their meaning is defined by the bending shape code and the respective standard. diff --git a/Properties/t/TransverseBarBendingShapeCode_0OepHgUSb8ygLobAS7j8QC/DocProperty.xml b/Properties/t/TransverseBarBendingShapeCode_0OepHgUSb8ygLobAS7j8QC/DocProperty.xml new file mode 100644 index 000000000..2e08c0e3a --- /dev/null +++ b/Properties/t/TransverseBarBendingShapeCode_0OepHgUSb8ygLobAS7j8QC/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/t/TransverseBarBendingShapeCode_0OepHgUSb8ygLobAS7j8QC/Documentation.md b/Properties/t/TransverseBarBendingShapeCode_0OepHgUSb8ygLobAS7j8QC/Documentation.md new file mode 100644 index 000000000..59aba4dcc --- /dev/null +++ b/Properties/t/TransverseBarBendingShapeCode_0OepHgUSb8ygLobAS7j8QC/Documentation.md @@ -0,0 +1 @@ +Shape code per a standard like ACI 315, ISO 3766, or a similar standard. It is presumed that a single standard for defining the bar bending is used throughout the project and that this standard is referenced from the _IfcProject_ object through the _IfcDocumentReference_ mechanism. diff --git a/Properties/t/TransverseBarNominalDiameter_2pXxXg8PH4zRbXzhVTDrAk/DocProperty.xml b/Properties/t/TransverseBarNominalDiameter_2pXxXg8PH4zRbXzhVTDrAk/DocProperty.xml new file mode 100644 index 000000000..677747a32 --- /dev/null +++ b/Properties/t/TransverseBarNominalDiameter_2pXxXg8PH4zRbXzhVTDrAk/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/t/TransverseBarSpacing_1VnCDpQAj5Y9$nQc__Xtmu/DocProperty.xml b/Properties/t/TransverseBarSpacing_1VnCDpQAj5Y9$nQc__Xtmu/DocProperty.xml new file mode 100644 index 000000000..4861ef8b2 --- /dev/null +++ b/Properties/t/TransverseBarSpacing_1VnCDpQAj5Y9$nQc__Xtmu/DocProperty.xml @@ -0,0 +1,3 @@ + + + diff --git a/Properties/t/TransverseBarSurface_39sLs5TpTDjh1uwTSuL$X8/DocProperty.xml b/Properties/t/TransverseBarSurface_39sLs5TpTDjh1uwTSuL$X8/DocProperty.xml new file mode 100644 index 000000000..82131ca41 --- /dev/null +++ b/Properties/t/TransverseBarSurface_39sLs5TpTDjh1uwTSuL$X8/DocProperty.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Properties/t/TransverseBarSurface_39sLs5TpTDjh1uwTSuL$X8/Documentation.md b/Properties/t/TransverseBarSurface_39sLs5TpTDjh1uwTSuL$X8/Documentation.md new file mode 100644 index 000000000..9ff08f4db --- /dev/null +++ b/Properties/t/TransverseBarSurface_39sLs5TpTDjh1uwTSuL$X8/Documentation.md @@ -0,0 +1 @@ +Indicator for whether the bar surface is plain or textured. diff --git a/PropertyConstants/n/NONE_00rsh4T2j4PfKgc4o7A7X8.xml b/PropertyConstants/n/NONE_00rsh4T2j4PfKgc4o7A7X8.xml index 7e31a3df9..85a9dc199 100644 --- a/PropertyConstants/n/NONE_00rsh4T2j4PfKgc4o7A7X8.xml +++ b/PropertyConstants/n/NONE_00rsh4T2j4PfKgc4o7A7X8.xml @@ -1,7 +1,9 @@  - + + No end-style has been applied + @@ -18,14 +20,12 @@ No end-style has been applied - No end-style has been applied + There is no pump base, such as an inline pump - - There is no pump base, such as an inline pump - + diff --git a/PropertyConstants/n/NOTDEFINED_0jPqDBAQ13AQB5eFaJZXjR.xml b/PropertyConstants/n/NOTDEFINED_0jPqDBAQ13AQB5eFaJZXjR.xml index 428439745..4310a1f50 100644 --- a/PropertyConstants/n/NOTDEFINED_0jPqDBAQ13AQB5eFaJZXjR.xml +++ b/PropertyConstants/n/NOTDEFINED_0jPqDBAQ13AQB5eFaJZXjR.xml @@ -1,6 +1,7 @@  + @@ -8,7 +9,6 @@ - diff --git a/PropertyConstants/n/NOTKNOWN_0_n254Fb10hBW_0_XIj7Qe.xml b/PropertyConstants/n/NOTKNOWN_0_n254Fb10hBW_0_XIj7Qe.xml index bf770f06c..e99d1b94b 100644 --- a/PropertyConstants/n/NOTKNOWN_0_n254Fb10hBW_0_XIj7Qe.xml +++ b/PropertyConstants/n/NOTKNOWN_0_n254Fb10hBW_0_XIj7Qe.xml @@ -259,10 +259,10 @@ Value is unknown. + Value is unknown. - Value is unknown. diff --git a/PropertyConstants/p/PLAIN_0EphPNrOH0wQPf1nfRslNx.xml b/PropertyConstants/p/PLAIN_0EphPNrOH0wQPf1nfRslNx.xml new file mode 100644 index 000000000..8082e1352 --- /dev/null +++ b/PropertyConstants/p/PLAIN_0EphPNrOH0wQPf1nfRslNx.xml @@ -0,0 +1,3 @@ + + + diff --git a/PropertyConstants/t/TEXTURED_3iVpG874jBxRYyIQnG1zEe.xml b/PropertyConstants/t/TEXTURED_3iVpG874jBxRYyIQnG1zEe.xml new file mode 100644 index 000000000..0abc8bb25 --- /dev/null +++ b/PropertyConstants/t/TEXTURED_3iVpG874jBxRYyIQnG1zEe.xml @@ -0,0 +1,3 @@ + + + diff --git a/PropertyEnumerations/a/PEnum_AirToAirHeatTransferHeatTransferType.xml b/PropertyEnumerations/h/PEnum_HeatTransferType.xml similarity index 77% rename from PropertyEnumerations/a/PEnum_AirToAirHeatTransferHeatTransferType.xml rename to PropertyEnumerations/h/PEnum_HeatTransferType.xml index 41eadcddb..de5b57734 100644 --- a/PropertyEnumerations/a/PEnum_AirToAirHeatTransferHeatTransferType.xml +++ b/PropertyEnumerations/h/PEnum_HeatTransferType.xml @@ -1,5 +1,5 @@  - + diff --git a/PropertyEnumerations/r/PEnum_ReinforcementBarSurface.xml b/PropertyEnumerations/r/PEnum_ReinforcementBarSurface.xml new file mode 100644 index 000000000..d0d683ec8 --- /dev/null +++ b/PropertyEnumerations/r/PEnum_ReinforcementBarSurface.xml @@ -0,0 +1,12 @@ + + + Enumeration indicating whether the bar has a plain or textured (ribbed) surface. + + + + + + + + + diff --git a/Publications/IFC4 Add2 DTV/DocPublication.xml b/Publications/IFC4 Add2 TC1 DTV/DocPublication.xml similarity index 96% rename from Publications/IFC4 Add2 DTV/DocPublication.xml rename to Publications/IFC4 Add2 TC1 DTV/DocPublication.xml index ee2fb85a9..282613641 100644 --- a/Publications/IFC4 Add2 DTV/DocPublication.xml +++ b/Publications/IFC4 Add2 TC1 DTV/DocPublication.xml @@ -1,6 +1,7 @@  - + + diff --git a/Publications/IFC4 Add2 RV/Documentation.md b/Publications/IFC4 Add2 TC1 DTV/Documentation.md similarity index 88% rename from Publications/IFC4 Add2 RV/Documentation.md rename to Publications/IFC4 Add2 TC1 DTV/Documentation.md index ed63aabcc..06c7fa94f 100644 --- a/Publications/IFC4 Add2 RV/Documentation.md +++ b/Publications/IFC4 Add2 TC1 DTV/Documentation.md @@ -11,9 +11,9 @@

- Industry Foundation Classes


+ Industry Foundation Classes 4.0.2.1


- Version 4 - Addendum 2 - Reference View + Design Transfer View

@@ -21,7 +21,7 @@

- © buildingSMART 1996-2016 - This document is owned and copyrighted by buildingSMART International Limited
+ © buildingSMART 1996-2017 - This document is owned and copyrighted by buildingSMART International Limited
By using the IFC4 specification you agree to the following copyright notice

diff --git a/Publications/IFC4 Add2 RV/DocPublication.xml b/Publications/IFC4 Add2 TC1 RV/DocPublication.xml similarity index 97% rename from Publications/IFC4 Add2 RV/DocPublication.xml rename to Publications/IFC4 Add2 TC1 RV/DocPublication.xml index 619876a85..a29f8b1bd 100644 --- a/Publications/IFC4 Add2 RV/DocPublication.xml +++ b/Publications/IFC4 Add2 TC1 RV/DocPublication.xml @@ -1,5 +1,5 @@  - + diff --git a/Publications/IFC4 Add2/Documentation.md b/Publications/IFC4 Add2 TC1 RV/Documentation.md similarity index 89% rename from Publications/IFC4 Add2/Documentation.md rename to Publications/IFC4 Add2 TC1 RV/Documentation.md index a85690b36..450ad98fa 100644 --- a/Publications/IFC4 Add2/Documentation.md +++ b/Publications/IFC4 Add2 TC1 RV/Documentation.md @@ -11,9 +11,9 @@

- Industry Foundation Classes


+ Industry Foundation Classes 4.0.2.1


- Version 4 - Addendum 2 + Reference View

@@ -21,7 +21,7 @@

- © buildingSMART 1996-2016 - This document is owned and copyrighted by buildingSMART International Limited
+ © buildingSMART 1996-2017 - This document is owned and copyrighted by buildingSMART International Limited
By using the IFC4 specification you agree to the following copyright notice

diff --git a/Publications/IFC4 Add2/DocPublication.xml b/Publications/IFC4 Add2 TC1/DocPublication.xml similarity index 97% rename from Publications/IFC4 Add2/DocPublication.xml rename to Publications/IFC4 Add2 TC1/DocPublication.xml index 3e14c4321..82f773248 100644 --- a/Publications/IFC4 Add2/DocPublication.xml +++ b/Publications/IFC4 Add2 TC1/DocPublication.xml @@ -1,5 +1,5 @@  - + diff --git a/Publications/IFC4 Add2 DTV/Documentation.md b/Publications/IFC4 Add2 TC1/Documentation.md similarity index 87% rename from Publications/IFC4 Add2 DTV/Documentation.md rename to Publications/IFC4 Add2 TC1/Documentation.md index 87d90db31..17b5d730b 100644 --- a/Publications/IFC4 Add2 DTV/Documentation.md +++ b/Publications/IFC4 Add2 TC1/Documentation.md @@ -10,10 +10,10 @@

- - Industry Foundation Classes


- Version 4 - Addendum 2 - Design Transfer View + Industry Foundation Classes 4.0.2.1


+ + Version 4.0 - Addendum 2 - Technical Corrigendum 1

@@ -21,7 +21,7 @@

- © buildingSMART 1996-2016 - This document is owned and copyrighted by buildingSMART International Limited
+ © buildingSMART 1996-2017 - This document is owned and copyrighted by buildingSMART International Limited
By using the IFC4 specification you agree to the following copyright notice

diff --git a/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcObjectDefinition/DocEntity.xml b/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcObjectDefinition/DocEntity.xml index 6a8b5c5a0..fa19d9cf8 100644 --- a/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcObjectDefinition/DocEntity.xml +++ b/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcObjectDefinition/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcProject/DocEntity.xml b/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcProject/DocEntity.xml index c2a2d9adf..a0f210244 100644 --- a/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcProject/DocEntity.xml +++ b/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcProject/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcProxy/DocEntity.xml b/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcProxy/DocEntity.xml index cb5ca98fb..cc93a9c26 100644 --- a/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcProxy/DocEntity.xml +++ b/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcProxy/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcRelAssigns/DocEntity.xml b/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcRelAssigns/DocEntity.xml index 5d23bbbc8..f702239d4 100644 --- a/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcRelAssigns/DocEntity.xml +++ b/Sections/Core data schemas/Schemas/IfcKernel/Entities/IfcRelAssigns/DocEntity.xml @@ -23,7 +23,7 @@ - + Particular type of the assignment relationship. It can constrain the applicable object types, used within the role of _RelatedObjects_. { .change-ifc2x4} > IFC4 CHANGE&nbsp; The attribute is deprecated and shall no longer be used. A NIL value should always be assigned. diff --git a/Sections/Core data schemas/Schemas/IfcKernel/Types/IfcObjectTypeEnum/DocEnumeration.xml b/Sections/Core data schemas/Schemas/IfcKernel/Types/IfcObjectTypeEnum/DocEnumeration.xml index ac8002701..874eef74c 100644 --- a/Sections/Core data schemas/Schemas/IfcKernel/Types/IfcObjectTypeEnum/DocEnumeration.xml +++ b/Sections/Core data schemas/Schemas/IfcKernel/Types/IfcObjectTypeEnum/DocEnumeration.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcDistributionElement/DocEntity.xml b/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcDistributionElement/DocEntity.xml index 6998e7d23..bda1c4b30 100644 --- a/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcDistributionElement/DocEntity.xml +++ b/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcDistributionElement/DocEntity.xml @@ -1,5 +1,5 @@  - + @@ -11,7 +11,7 @@ - + Reference to the element to port connection relationship. The relationship then refers to the port which is contained in this element. { .change-ifc2x4} diff --git a/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcOpeningElement/Documentation.md b/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcOpeningElement/Documentation.md index 749dc0e15..7fcba08c8 100644 --- a/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcOpeningElement/Documentation.md +++ b/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcOpeningElement/Documentation.md @@ -1,11 +1,12 @@ The opening element stands for opening, recess or chase, all reflecting voids. It represents a void within any element that has physical manifestation. Openings can be inserted into walls, slabs, beams, columns, or other elements. -The IFC specification provides two entities for opening elements: +There are two main representations for opening elements: -* _IfcOpeningStandardCase_ is used for all openings that have a constant profile along a linear extrusion. They are placed relative to the voided elements and the extrusion direction is perpendicular to the plane of the element (horizontally for walls, vertically for slabs). Only a single extrusion body is allowed. It cuts through the whole thickness of the voided element, i.e. it reflects a true opening. +* Openings that have a constant profile along a linear extrusion. They are placed relative to the voided elements and the extrusion direction is perpendicular to the plane of the element (horizontally for walls, vertically for slabs). Only a single extrusion body is allowed. It cuts through the whole thickness of the voided element, i.e. it reflects a true opening. +>> NOTE  The entity _IfcOpeningStandardCase_ has been deprecated. * _IfcOpeningElement_ is used for all other occurrences of openings and in particular also for niches or recesses. -> NOTE  View definitions or implementer agreements may restrict the types of elements which can be voided by an _IfcOpeningElement_ or _IfcOpeningStandardCase_ +> NOTE  Model View Definitions may restrict the types of elements which can be voided by an _IfcOpeningElement_ There are two different types of opening elements: diff --git a/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcOpeningStandardCase/DocEntity.xml b/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcOpeningStandardCase/DocEntity.xml index 21a800394..c2865473b 100644 --- a/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcOpeningStandardCase/DocEntity.xml +++ b/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcOpeningStandardCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcPort/DocEntity.xml b/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcPort/DocEntity.xml index ed7b3ed50..993049d37 100644 --- a/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcPort/DocEntity.xml +++ b/Sections/Core data schemas/Schemas/IfcProductExtension/Entities/IfcPort/DocEntity.xml @@ -7,7 +7,7 @@ - + Reference to the element to port connection relationship. The relationship then refers to the element in which this port is contained. { .change-ifc2x4} > IFC4 CHANGE&nbsp; The cardinality has been changed from 1:1 to 0:1. IFC4 DEPRECATION&nbsp; The inverse relationship is deprecated for fixed ports due to deprecation of _IfcRelConnectsPortToElement_ for this usage. Use inverse relationship _Nests_ instead. diff --git a/Sections/Core data schemas/Schemas/IfcProductExtension/PropertySets/Pset_LandRegistration/Documentation.md b/Sections/Core data schemas/Schemas/IfcProductExtension/PropertySets/Pset_LandRegistration/Documentation.md index e9882da86..4f3d1b11d 100644 --- a/Sections/Core data schemas/Schemas/IfcProductExtension/PropertySets/Pset_LandRegistration/Documentation.md +++ b/Sections/Core data schemas/Schemas/IfcProductExtension/PropertySets/Pset_LandRegistration/Documentation.md @@ -1 +1,3 @@ -Specifies the identity of land within a statutory registration system. NOTE: The property LandTitleID is to be used in preference to deprecated attribute LandTitleNumber in IfcSite. +Specifies the identity of land within a statutory registration system. + +
diff --git a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorLiningProperties/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorLiningProperties/DocEntity.xml index 00d1c1930..81c733f9a 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorLiningProperties/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorLiningProperties/DocEntity.xml @@ -96,10 +96,10 @@ If the _TransomThickness_ is set to zero (and the _TransomOffset_ set to a posit
- + Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining. -{ .change-ifc2x4} -> IFC4 CHANGE&nbsp; The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). +{ .deprecated} +> DEPRECATION&nbsp; The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($).
diff --git a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorPanelProperties/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorPanelProperties/DocEntity.xml index 6c6eda5ad..903cb46b5 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorPanelProperties/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorPanelProperties/DocEntity.xml @@ -39,7 +39,7 @@
- + Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door panel. { .deprecated} > DEPRECATION&nbsp; The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). diff --git a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorStyle/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorStyle/DocEntity.xml index c660a7f01..df13ce56f 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorStyle/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcDoorStyle/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowLiningProperties/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowLiningProperties/DocEntity.xml index 8e0803f4d..5d11e7ceb 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowLiningProperties/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowLiningProperties/DocEntity.xml @@ -82,10 +82,10 @@ If the _MullionThickness_ is set to zero (and the _MullionOffset_ set to a posit - + Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the lining. -{ .change-ifc2x4} -> IFC4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). +{ .deprecated} +> DEPRECATION&nbsp; The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). diff --git a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowPanelProperties/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowPanelProperties/DocEntity.xml index 9b518b43b..f05aea315 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowPanelProperties/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowPanelProperties/DocEntity.xml @@ -39,7 +39,7 @@ - + Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the panel. { .deprecated} > DEPRECATION&nbsp; The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). diff --git a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowStyle/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowStyle/DocEntity.xml index cf7301a12..bbf9cf2e2 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowStyle/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcArchitectureDomain/Entities/IfcWindowStyle/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDevicePHistory/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDevicePHistory/DocPropertySet.xml new file mode 100644 index 000000000..ea0d072da --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDevicePHistory/DocPropertySet.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDevicePHistory/Documentation.md b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDevicePHistory/Documentation.md new file mode 100644 index 000000000..7d834e996 --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDevicePHistory/Documentation.md @@ -0,0 +1 @@ +Electric flow storage device performance history common attributes. diff --git a/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDeviceTypeCommon/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDeviceTypeCommon/DocPropertySet.xml index 06ffd2b59..d0d3e1b52 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDeviceTypeCommon/DocPropertySet.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_ElectricFlowStorageDeviceTypeCommon/DocPropertySet.xml @@ -25,6 +25,10 @@ + + + + diff --git a/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_SolarDeviceTypeCommon/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_SolarDeviceTypeCommon/DocPropertySet.xml index e0bd933d7..0d01d05f1 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_SolarDeviceTypeCommon/DocPropertySet.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_SolarDeviceTypeCommon/DocPropertySet.xml @@ -9,6 +9,8 @@ + + diff --git a/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_TransformerTypeCommon/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_TransformerTypeCommon/DocPropertySet.xml index 1e8dde48e..07e42b71c 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_TransformerTypeCommon/DocPropertySet.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcElectricalDomain/PropertySets/Pset_TransformerTypeCommon/DocPropertySet.xml @@ -25,6 +25,8 @@ + + diff --git a/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_AirToAirHeatRecoveryTypeCommon/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_AirToAirHeatRecoveryTypeCommon/DocPropertySet.xml index 83756eb4c..2ee81a1a8 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_AirToAirHeatRecoveryTypeCommon/DocPropertySet.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_AirToAirHeatRecoveryTypeCommon/DocPropertySet.xml @@ -9,7 +9,7 @@ - + diff --git a/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_SpaceThermalPHistory/Documentation.md b/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_SpaceThermalPHistory/Documentation.md index 0266060ad..72eee5502 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_SpaceThermalPHistory/Documentation.md +++ b/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_SpaceThermalPHistory/Documentation.md @@ -1 +1 @@ -Thermal and air flow conditions of a space or zone. HISTORY: New property set in IFC 2x2. +Thermal and air flow conditions of a space or zone. diff --git a/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_TankPHistory/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_TankPHistory/DocPropertySet.xml new file mode 100644 index 000000000..b7c7a01f2 --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_TankPHistory/DocPropertySet.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_TankPHistory/Documentation.md b/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_TankPHistory/Documentation.md new file mode 100644 index 000000000..73d7f84ec --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcHvacDomain/PropertySets/Pset_TankPHistory/Documentation.md @@ -0,0 +1 @@ +Tank performance history common attributes. diff --git a/Sections/Domain specific data schemas/Schemas/IfcPlumbingFireProtectionDomain/Types/IfcSanitaryTerminalTypeEnum/Documentation.md b/Sections/Domain specific data schemas/Schemas/IfcPlumbingFireProtectionDomain/Types/IfcSanitaryTerminalTypeEnum/Documentation.md index 267556dae..da9ae524c 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcPlumbingFireProtectionDomain/Types/IfcSanitaryTerminalTypeEnum/Documentation.md +++ b/Sections/Domain specific data schemas/Schemas/IfcPlumbingFireProtectionDomain/Types/IfcSanitaryTerminalTypeEnum/Documentation.md @@ -1,5 +1,6 @@ The _IfcSanitaryTerminalTypeEnum_ defines the range of different types of sanitary terminal that can be specified. -> NOTE  The value WCSEAT has been deprecated and should no longer be used; toilet seats should be represented by IfcDiscreteAccessory with ObjectType 'WC Seat'. +{ .deprecated} +> DEPRECATION  The value WCSEAT has been deprecated and should no longer be used; toilet seats should be represented by _IfcDiscreteAccessory_ with ObjectType 'WC Seat'. > HISTORY  New type in IFC2x2. diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcPile/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcPile/DocEntity.xml index 66143e209..32c76c49b 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcPile/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcPile/DocEntity.xml @@ -18,7 +18,7 @@ - + Deprecated. { .change-ifc2x4} diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcementDefinitionProperties/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcementDefinitionProperties/DocEntity.xml index f4296e18a..4edb7fab1 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcementDefinitionProperties/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcementDefinitionProperties/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingBar/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingBar/DocEntity.xml index 67d1207f0..888e6e668 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingBar/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingBar/DocEntity.xml @@ -7,7 +7,7 @@ - + Deprecated. { .change-ifc2x4} @@ -18,7 +18,7 @@ - + The effective cross-section area of the reinforcing bar or group of bars. { .change-ifc2x4} @@ -29,7 +29,7 @@ - + Deprecated. { .change-ifc2x4} @@ -51,7 +51,7 @@ - + Deprecated. { .change-ifc2x4} diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingBarType/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingBarType/DocEntity.xml index 3d3a8ff0d..2f369fde3 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingBarType/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingBarType/DocEntity.xml @@ -1,5 +1,5 @@  - + @@ -15,7 +15,7 @@ - + The nominal diameter defining the cross-section size of the reinforcing bar. @@ -23,7 +23,7 @@ - + The effective cross-section area of the reinforcing bar. @@ -31,7 +31,7 @@ - + The total length of the reinforcing bar. The total length of bended bars are calculated according to local standards with corrections for the bends. @@ -39,7 +39,7 @@ - + Indicator for whether the bar surface is plain or textured. @@ -47,7 +47,7 @@ - + Shape code per a standard like ACI 315, ISO 3766, or a similar standard. It is presumed that a single standard for defining the bar bending is used throughout the project and that this standard is referenced from the _IfcProject_ object through the _IfcDocumentReference_ mechanism. @@ -55,7 +55,7 @@ - + Bending shape parameters. Their meaning is defined by the bending shape code and the respective standard. @@ -70,7 +70,7 @@ (PredefinedType <> IfcReinforcingBarTypeEnum.USERDEFINED) OR ((PredefinedType = IfcReinforcingBarTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)) - + Bending parameters must be accompanied by a shape code. NOT EXISTS(BendingParameters) OR EXISTS(BendingShapeCode) diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingElement/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingElement/DocEntity.xml index bc63b147c..e15830ac6 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingElement/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingElement/DocEntity.xml @@ -1,5 +1,5 @@  - + @@ -13,10 +13,8 @@ - - Deprecated. - -{ .change-ifc2x4} + + { .change-ifc2x4} > IFC4 CHANGE&nbsp; Attribute deprecated. Use material association at _IfcReinforcingElementType_ instead. diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingMesh/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingMesh/DocEntity.xml index ae2c9ed82..4d95ac681 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingMesh/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingMesh/DocEntity.xml @@ -1,5 +1,5 @@  - + @@ -7,7 +7,7 @@ - + Deprecated. { .change-ifc2x4} @@ -18,7 +18,7 @@ - + Deprecated. { .change-ifc2x4} @@ -29,7 +29,7 @@ - + Deprecated. { .change-ifc2x4} @@ -40,7 +40,7 @@ - + Deprecated. { .change-ifc2x4} @@ -51,7 +51,7 @@ - + Deprecated. { .change-ifc2x4} @@ -62,7 +62,7 @@ - + Deprecated. { .change-ifc2x4} @@ -73,7 +73,7 @@ - + Deprecated. { .change-ifc2x4} @@ -84,7 +84,7 @@ - + Deprecated. { .change-ifc2x4} diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingMeshType/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingMeshType/DocEntity.xml index 0f5468b9b..3b36d22a2 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingMeshType/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcReinforcingMeshType/DocEntity.xml @@ -15,7 +15,7 @@ - + The overall length of the mesh measured in its longitudinal direction. @@ -23,7 +23,7 @@ - + The overall width of the mesh measured in its transversal direction. @@ -31,7 +31,7 @@ - + The nominal diameter denoting the cross-section size of the longitudinal bars. @@ -39,7 +39,7 @@ - + The nominal diameter denoting the cross-section size of the transverse bars. @@ -47,7 +47,7 @@ - + The effective cross-section area of the longitudinal bars of the mesh. @@ -55,7 +55,7 @@ - + The effective cross-section area of the transverse bars of the mesh. @@ -63,7 +63,7 @@ - + The spacing between the longitudinal bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. @@ -71,7 +71,7 @@ - + The spacing between the transverse bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. @@ -79,7 +79,7 @@ - + If this mesh type is bent rather than planar, this attribute provides a shape code per a standard like ACI 315, ISO 3766, or a similar standard. It is presumed that a single standard for defining the mesh bending is used throughout the project and that this standard is referenced from the _IfcProject_ object through the _IfcDocumentReference_ mechanism. @@ -87,7 +87,7 @@ - + If this mesh type is bent rather than planar, this attribute provides bending shape parameters. Their meaning is defined by the bending shape code and the respective standard. @@ -102,7 +102,7 @@ (PredefinedType <> IfcReinforcingMeshTypeEnum.USERDEFINED) OR ((PredefinedType = IfcReinforcingMeshTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType)) - + Bending parameters must be accompanied by a shape code. NOT EXISTS(BendingParameters) OR EXISTS(BendingShapeCode) diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcTendon/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcTendon/DocEntity.xml index 50b1d0870..e57e357f7 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcTendon/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcTendon/DocEntity.xml @@ -18,7 +18,7 @@ - + The nominal diameter defining the cross-section size of the tendon. { .change-ifc2x4} @@ -29,7 +29,7 @@ - + The effective cross-section area of the tendon. { .change-ifc2x4} @@ -40,7 +40,7 @@ - + The maximum allowed tension force that can be applied on the tendon. @@ -48,7 +48,7 @@ - + The prestress to be applied on the tendon. @@ -56,7 +56,7 @@ - + The friction coefficient between tendon and tendon sheet while the tendon is unbonded. @@ -64,7 +64,7 @@ - + The deformation of an anchor or slippage of tendons when the prestressing device is released. @@ -72,7 +72,7 @@ - + The smallest curvature radius calculated on the whole effective length of the tendon where the tension properties are still valid. diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcTendonType/DocEntity.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcTendonType/DocEntity.xml index 2df0281df..2c9ae006c 100644 --- a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcTendonType/DocEntity.xml +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/Entities/IfcTendonType/DocEntity.xml @@ -15,7 +15,7 @@ - + The nominal diameter defining the cross-section size of the prestressed part of the tendon. @@ -23,7 +23,7 @@ - + The effective cross-section area of the prestressed part of the tendon. @@ -31,7 +31,7 @@ - + Diameter of the sheeth (duct) around the tendon, if there is one with this type of tendon. diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingBarCommon/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingBarCommon/DocPropertySet.xml new file mode 100644 index 000000000..8311fb49c --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingBarCommon/DocPropertySet.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingBarCommon/Documentation.md b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingBarCommon/Documentation.md new file mode 100644 index 000000000..01a66dc5a --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingBarCommon/Documentation.md @@ -0,0 +1 @@ +Properties common to the definition of all occurrences of IfcReinforcingBar. diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingMeshCommon/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingMeshCommon/DocPropertySet.xml new file mode 100644 index 000000000..0883d68bd --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingMeshCommon/DocPropertySet.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingMeshCommon/Documentation.md b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingMeshCommon/Documentation.md new file mode 100644 index 000000000..79643935c --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_ReinforcingMeshCommon/Documentation.md @@ -0,0 +1 @@ +Properties common to the definition of all occurrences of IfcReinforcingMesh. diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonAnchorCommon/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonAnchorCommon/DocPropertySet.xml new file mode 100644 index 000000000..7ac4b57e9 --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonAnchorCommon/DocPropertySet.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonAnchorCommon/Documentation.md b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonAnchorCommon/Documentation.md new file mode 100644 index 000000000..b037c46a6 --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonAnchorCommon/Documentation.md @@ -0,0 +1 @@ +Properties common to the definition of all occurrences of IfcTendonAnchor. diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonCommon/DocPropertySet.xml b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonCommon/DocPropertySet.xml new file mode 100644 index 000000000..941a69c41 --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonCommon/DocPropertySet.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonCommon/Documentation.md b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonCommon/Documentation.md new file mode 100644 index 000000000..b8d7df569 --- /dev/null +++ b/Sections/Domain specific data schemas/Schemas/IfcStructuralElementsDomain/PropertySets/Pset_TendonCommon/Documentation.md @@ -0,0 +1 @@ +Properties common to the definition of all occurrences of IfcTendon. diff --git a/Sections/Resource definition data schemas/Schemas/IfcExternalReferenceResource/DocSchema.xml b/Sections/Resource definition data schemas/Schemas/IfcExternalReferenceResource/DocSchema.xml index 5d20db741..055224291 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcExternalReferenceResource/DocSchema.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcExternalReferenceResource/DocSchema.xml @@ -134,9 +134,6 @@ - - - diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcFaceBasedSurfaceModel/DocEntity.xml b/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcFaceBasedSurfaceModel/DocEntity.xml index ef3e1689a..b1728ff2a 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcFaceBasedSurfaceModel/DocEntity.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcFaceBasedSurfaceModel/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcFaceBasedSurfaceModel/Documentation.md b/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcFaceBasedSurfaceModel/Documentation.md index 0f990727f..12a7b7fa2 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcFaceBasedSurfaceModel/Documentation.md +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcFaceBasedSurfaceModel/Documentation.md @@ -16,4 +16,4 @@ Informal Propositions: 2. The fbsm faces have dimensionality 2. { .deprecated} -> IFC4 CHANGE  The entity has been deprecated and shall not be used. The entity _IfcFacetedBrep_ shall be used instead. +> IFC4 CHANGE  The entity has been deprecated and shall not be used. The entity _IfcShellBasedSurfaceModel_ for open shells and _IfcFacetedBrep_ for closed shells shall be used instead. diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcTriangulatedFaceSet/Documentation.md b/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcTriangulatedFaceSet/Documentation.md index 11a6586e0..a0c548124 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcTriangulatedFaceSet/Documentation.md +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometricModelResource/Entities/IfcTriangulatedFaceSet/Documentation.md @@ -39,7 +39,7 @@ Figure 4 shows the use of _IfcTriangulatedFaceSet_ without annotation. The diagr IfcTriangulatedFaceSet_Example-01 -

Figure 168 shows an IfcTriangulatedFaceSet represented by

+

Figure 2 shows an IfcTriangulatedFaceSet represented by

CoordIndex: ((1,6,5), (1,2,6), (6,2,7), (7,2,3), (7,8,6), (6,8,5), (5,8,1), (1,8,4), (4,2,1), (2,4,3), (4,8,7), (7,3,4))
IfcCartesianPointList3D: ((0.,0.,0.), (1.,0.,0.), (1.,1.,0.), (0.,1.,0.), (0.,0.,2.), (1.,0.,2.), (1.,1.,2.), (0.,1.,2.)) diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcCircle/Documentation.md b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcCircle/Documentation.md index 2a2de6b5d..06636ae94 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcCircle/Documentation.md +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcCircle/Documentation.md @@ -1,11 +1,13 @@ An _IfcCircle_ is a curve consisting of a set of points having equal distance from the center. -> NOTE  A circular arc segment is defined by using the _IfcTrimmedCurve_ with _BasisCurve_ being an _IfcCircle_. +> NOTE  A circular arc segment is defined by using the _IfcTrimmedCurve_ with _BasisCurve_ being an _IfcCircle_ or alternatively as a circular arc defined by three points within an _IfcIndexedPolyCurve_. Figure 1 illustrates the definition of _IfcCircle_ within a three-dimensional position coordinate system placed within the object coordinate system of an element. !["axis1 placement"](../../../../../../figures/ifccircle-layout1.gif "Figure 1 — Circle layout") +The _IfcCircle_ ia parameterized using numeric values in correspondence to the plane angle unit provided within the _IfcUnitAssignment_. If the plane angle unit is 'Degree' the parametric range of a circle is 0 ≤ _u_ ≤ 360, if the plane angle unit is radians, the parametric range is 0 ≤ _u_ ≤ 2π. +   { .extDef} @@ -24,8 +26,7 @@ Figure 1 illustrates the definition of _IfcCircle_ within a three-dimensional po >> >>> ![formula](../../../../../../figures/ifccircle-math1.gif) >> -> The parameterization range is 0 ≤ _u_ ≤ 2π (0 ≤ _u_ ≤ 360 degree). -> In the placement coordinate system defined above, the circle is the equation _C_ = 0, where +> The parameterization range is 0 ≤ _u_ ≤ 360 degree, _u_ is an angular parameter and when a numerical value is specified it shall use the current units for plane angle measure. In the placement coordinate system defined above, the circle is the equation _C_ = 0, where > >> >>> ![formula](../../../../../../figures/ifccircle-math2.gif) diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcIndexedPolyCurve/Documentation.md b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcIndexedPolyCurve/Documentation.md index c4ffe3ea7..4996f2c0c 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcIndexedPolyCurve/Documentation.md +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcIndexedPolyCurve/Documentation.md @@ -5,11 +5,11 @@ In the case that the list of _Segments_ is provided, it is interpreted as such: * Segment of type _IfcLineIndex_: The first index is the start point of the poly line segment, the last index is the end point of the poly line segment. If more than two indices are included, then all intermediate indices define intermediate points of the polyline connected in the order of appearance of the indices; * Segment of type _IfcArcIndex_: The first index is the start point of the circular arc, the second index is a point on arc, the third index is the end point of the circular arc. The three points shall not be co-linear. In case that this informal proposition is not maintained, the arc segment shall be treated as a polyline segment. -> EXAMPLE  Figure 2 illustrates a bounded open _IfcIndexedPolyCurve_ having straight and arc segments. In this example, the straight segments only have two points and one edge, however more then two indices into the Cartesian point list can be includes, defining a multi edge polyline segment. +> EXAMPLE  Figure 2 illustrates a bounded open _IfcIndexedPolyCurve_ having straight and arc segments. In this example, the straight segments only have two points and one edge, however more then two indices into the Cartesian point list can be includes, defining a multi edge polyline segment. The parametric length of the total poly curve is the sum of the parametric length of its segments, the parametric length of the arc segments are shown in radians, which applies, if the plane angle measure of the data set is Radians. In case that the plane angle measure is Degree, the parametric length of the arc segments has degree values with 90. being the parametric length of a quarter circle. !["poly curve with arcs examples"](../../../../../../figures/ifcindexedpolycurve-fig1.png "Figure 2 — Bounded open _IfcIndexedPolyCurve_ with straight and arc segments") -> EXAMPLE  Figure 2 illustrates a bounded open _IfcIndexedPolyCurve_ having only straight segments. In this example, no list of _Segments_ is provided, hence the points are drawn in the order of their appearance in the _IfcCartesianPointList_. +> EXAMPLE  Figure 2 illustrates a bounded open _IfcIndexedPolyCurve_ having only straight segments. In this example, no list of _Segments_ is provided, hence the points are drawn in the order of their appearance in the _IfcCartesianPointList_. The parametric length of the total poly curve is the sum of the parametric length of its segments, with each line segment having the parametric length of 1.0. !["poly curve examples"](../../../../../../figures/ifcindexedpolycurve-fig2.png "Figure 2 — Bounded open _IfcIndexedPolyCurve_ with only straight segments") diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcLine/Documentation.md b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcLine/Documentation.md index f24e7bc02..935e500f8 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcLine/Documentation.md +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcLine/Documentation.md @@ -2,9 +2,7 @@ > NOTE  A line segment is defined using either the _IfcPolyline_ with two _Points_, or the _IfcTrimmedCurve_ with _BasisCurve_ being an _IfcLine_. -> EXAMPLE  Figure 1 illustrates an unbounded _IfcLine_ and a bounded _IfcTrimmedCurve_. A bounded line starting at 0.,0. and ending at 0.,2. can be defined by: - -> 1. _IfcLine_ with _IfcVector_._Magnitude_: 2.0 AND _IfcTrimmedCurve_ with _Trim1_: 0. and _Trim2_: 1. (and trimming preference being parameter); +> EXAMPLE  Figure 1 illustrates an unbounded _IfcLine_ and a bounded line. The bounded line starting at 0.,0. and ending at 0.,2. can be defined by: > 1. _IfcLine_ with _IfcVector_._Magnitude_: 2.0 AND _IfcTrimmedCurve_ with _Trim1_: 0. and _Trim2_: 1. (and trimming preference being parameter); > 2. _IfcLine_ with _IfcVector_._Magnitude_: 1.0 AND _IfcTrimmedCurve_ with _Trim1_: 0. and _Trim2_: 2. (and trimming preference being parameter); > 3. _IfcLine_ AND _IfcTrimmedCurve_ with _Trim1_::_IfcCartesianPoint_ [0.,0.] and _Trim2_::_IfcCartesianPoint_ [0.,2.] (and trimming preference being Cartesian) - the _IfcVector_._Magnitude_ has no effect; > 4. _IfcPolyline_ with _Points[1]_ being 0.,0. and _Points[2]_ being 0.,2. @@ -12,6 +10,8 @@ !["line examples"](../../../../../../figures/ifcline-fig1.png "Figure 1 — Unbounded _IfcLine_ and bounded _IfcTrimmedCurve_") +  + { .extDef} > NOTE  Definition according to ISO/CD 10303-42:1992 > A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the dir vector. The curve is parameterized as follows: diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcPolyline/Documentation.md b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcPolyline/Documentation.md index c09c69daa..6f263756b 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcPolyline/Documentation.md +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcPolyline/Documentation.md @@ -1,15 +1,15 @@ The _IfcPolyline_ is a bounded curve with only linear segments defined by a list of Cartesian points. If the first and the last Cartesian point in the list are identical, then the polyline is a closed curve, otherwise it is an open curve. -> EXAMPLE  Figure 1 illustrates a bounded _IfcPolyline_ and shows the parametric length of each segment and of the total polyline. +> EXAMPLE  Figure 1 illustrates a bounded _IfcPolyline_ and shows the parametric length of each segment and of the total polyline. The parametric length of the entire polyline is _n_ - 1, where _n_ is the number of _Points_. !["polyline examples"](../../../../../../figures/ifcpolyline-fig1.png "Figure 1 — Bounded _IfcPolyline_ with parametric length") { .extDef} > NOTE  Definition according to ISO/CD 10303-42:1992 -> A polyline is a bounded curve of _n_ - 1 linear segments, defined by a list of _n_ points, P~1~, P~2~ ... P~n~. The _i_th segment of the curve is parameterized as follows: +> A polyline is a bounded curve of _n_ - 1 linear segments, defined by a list of _n_ points, P~1~, P~2~ ... P~n~. The _i_^th^ segment of the curve is parameterized as follows: { .extDef} >> ![Image](../../../../../../figures/ifcpolyline-math1.gif)    _for_ 1 ≤ _i_ ≤ _n_ - 1 -> where _i_ - 1 ≤ _u_ ≤ _i_ and with parametric range of 0 <≤ _u_ ≤ _n_ - 1. +> where _i_ - 1 ≤ _u_ ≤ _i_ and with parametric range of 0 ≤ _u_ ≤ _n_ - 1. > NOTE  Entity adapted from **polyline** in ISO 10303-42. diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcTrimmedCurve/Documentation.md b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcTrimmedCurve/Documentation.md index 03e0bdc22..5926342af 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcTrimmedCurve/Documentation.md +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Entities/IfcTrimmedCurve/Documentation.md @@ -4,7 +4,7 @@ !["curve parameterization"](../../../../../../figures/ifctrimmedcurve_parameterization.png "Figure 1 — Trimmed curve parameterization") -Figure 1 shows the four arcs (dashed blue and green lines with arrow showing different orientations) that can be defined by the same _BasisCurve_ (of type _IfcCircle_) and the same trimming points (given by Cartesian points and parameter values) by using different assignments to _Trim1_ and _Trim2_ and _SenseAgreement_. +> EXAMPLE  Figure 1 shows the four arcs (dashed blue and green lines with arrow showing different orientations) that can be defined by the same _BasisCurve_ of type _IfcCircle_ and the same trimming points (given by Cartesian points and parameter values) by using different assignments to _Trim1_ and _Trim2_ and _SenseAgreement_. The trim 1 and trim 2 values for TrimmingPreference=.PARAMETER. are shown as degree values, which applies if the plane area measure is 'Degree', in case of plane area measure 'Radians' those would be ½π and π. > NOTE  Since the _BasisCurve_ is closed (type _IfcCircle_), the exception of the informal proposition IP3 applies, i.e. the sense flag is not required to be consistent with the parameter values of _Trim1_ and _Trim1_, so the rule (sense = parameter 1 < parameter 2) may not be fulfilled. diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Functions/IfcSurfaceWeightsPositive/Expression.txt b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Functions/IfcSurfaceWeightsPositive/Expression.txt index e829e5ea2..0cff98394 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Functions/IfcSurfaceWeightsPositive/Expression.txt +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Functions/IfcSurfaceWeightsPositive/Expression.txt @@ -3,11 +3,12 @@ LOCAL Result : BOOLEAN := TRUE; + Weights : ARRAY [ 0 : B\IfcBSplineSurface.UUpper ] OF ARRAY [ 0 : B\IfcBSplineSurface.VUpper ] OF REAL := B.Weights; END_LOCAL; REPEAT i := 0 TO B\IfcBSplineSurface.UUpper; REPEAT j := 0 TO B\IfcBSplineSurface.VUpper; - IF (B.Weights[i][j] <= 0.0) THEN + IF (Weights[i][j] <= 0.0) THEN Result := FALSE; RETURN(Result); END_IF; diff --git a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Types/IfcCurveOnSurface/DocSelect.xml b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Types/IfcCurveOnSurface/DocSelect.xml index 6d5bdef30..a07bb0c8a 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Types/IfcCurveOnSurface/DocSelect.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcGeometryResource/Types/IfcCurveOnSurface/DocSelect.xml @@ -4,7 +4,7 @@
- + @@ -13,7 +13,6 @@ - diff --git a/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/DocSchema.xml b/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/DocSchema.xml index f541315c2..35b5c47c9 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/DocSchema.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/DocSchema.xml @@ -105,9 +105,6 @@ - - - diff --git a/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialClassificationRelationship/DocEntity.xml b/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialClassificationRelationship/DocEntity.xml index 078e01850..0a45a8e6a 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialClassificationRelationship/DocEntity.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialClassificationRelationship/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialLayer/DocEntity.xml b/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialLayer/DocEntity.xml index f0afbb2d9..e9c4f9ab2 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialLayer/DocEntity.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialLayer/DocEntity.xml @@ -62,8 +62,7 @@ Category of the material layer, e.g. the role it has in the layer set it belongs to (such as 'load bearing', 'thermal insulation' etc.). The list of keywords might be extended by model view definitions, however the following keywords shall apply in general: * 'LoadBearing' &mdash; for all material layers having a load bearing function. * 'Insulation' &mdash; for all material layers having an insolating function. -* 'Inner finish' &mdash; for the material layer being the inner finish. -* 'Outer finish' &mdash; for the material layer being the outer finish. +* 'Finish' &mdash; for the material layer being the inner or outer finish.
diff --git a/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialList/DocEntity.xml b/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialList/DocEntity.xml index ffe34b971..2dc29a3f2 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialList/DocEntity.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcMaterialResource/Entities/IfcMaterialList/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Entities/IfcUnitAssignment/Documentation.md b/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Entities/IfcUnitAssignment/Documentation.md index 292ea9944..96da648b1 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Entities/IfcUnitAssignment/Documentation.md +++ b/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Entities/IfcUnitAssignment/Documentation.md @@ -2,4 +2,6 @@ > NOTE  A _IfcProject_ has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. +All measures used in the geometric representation items are directly defined by the _IfcUnitAssignment_. The minimum set of units that shall be declared by the unit assignment has to include length unit and plane angle units if the IFC data set includes shape representations. + > HISTORY  New entity in IFC1.5.1. diff --git a/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Types/IfcCountMeasure/DocDefined.xml b/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Types/IfcCountMeasure/DocDefined.xml index 3155fd4fb..9880030a6 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Types/IfcCountMeasure/DocDefined.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Types/IfcCountMeasure/DocDefined.xml @@ -5,6 +5,7 @@ + diff --git a/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Types/IfcNumericMeasure/DocDefined.xml b/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Types/IfcNumericMeasure/DocDefined.xml index 34a710172..90e7d5a8b 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Types/IfcNumericMeasure/DocDefined.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcMeasureResource/Types/IfcNumericMeasure/DocDefined.xml @@ -5,6 +5,7 @@
+ diff --git a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/DocSchema.xml b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/DocSchema.xml index 26618d0c6..3738b3c82 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/DocSchema.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/DocSchema.xml @@ -280,10 +280,6 @@ - - - - diff --git a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Entities/IfcFillAreaStyle/Documentation.md b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Entities/IfcFillAreaStyle/Documentation.md index c1f7c15db..1dc95017d 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Entities/IfcFillAreaStyle/Documentation.md +++ b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Entities/IfcFillAreaStyle/Documentation.md @@ -40,6 +40,3 @@ An _IfcFillAreaStyle_ can be assigned to _IfcFillArea_ via the _IfcPresentationS > NOTE  Corresponding ISO 10303 name: fill_area_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. > HISTORY  New entity in IFC2x2. - -{ .deprecated} -> DEPRECATION  The use of IfcFillAreaStyleTiles is deprecated, as its definition might change is future releases. diff --git a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Entities/IfcPresentationStyleAssignment/DocEntity.xml b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Entities/IfcPresentationStyleAssignment/DocEntity.xml index cc48065a5..140f19f5d 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Entities/IfcPresentationStyleAssignment/DocEntity.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Entities/IfcPresentationStyleAssignment/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcNullStyle/DocEnumeration.xml b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcNullStyle/DocEnumeration.xml index 9c1a13d55..fb4531b9a 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcNullStyle/DocEnumeration.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcNullStyle/DocEnumeration.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcPresentationStyleSelect/DocSelect.xml b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcPresentationStyleSelect/DocSelect.xml index 505734295..3477fb6f9 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcPresentationStyleSelect/DocSelect.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcPresentationStyleSelect/DocSelect.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcStyleAssignmentSelect/DocSelect.xml b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcStyleAssignmentSelect/DocSelect.xml index 718ce4497..6d338819c 100644 --- a/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcStyleAssignmentSelect/DocSelect.xml +++ b/Sections/Resource definition data schemas/Schemas/IfcPresentationAppearanceResource/Types/IfcStyleAssignmentSelect/DocSelect.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcBeam/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcBeam/Documentation.md index 0235a7a72..3c2772cb2 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcBeam/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcBeam/Documentation.md @@ -7,9 +7,10 @@ > NOTE  For any other longitudinal structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity _IfcMember_ should be used. -There are two entities for beam occurrences: +There are two main representations for beam occurrences: + +* _IfcBeam_ with _IfcMaterialProfileSetUsage_ is used for all occurrences of beams, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the _IfcMaterialProfileSetUsage_. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. +>> NOTE  The entity _IfcBeamStandardCase_ has been deprecated, _IfcBeam_ with _IfcMaterialProfileSetUsage_ is used instead. +* _IfcBeam_ without _IfcMaterialProfileSetUsage_ is used for all other occurrences of beams, particularly for beams with non-uniformly changing profile sizes along the sweep, or beams having only 'AdvancedBrep', 'Brep', or 'SurfaceModel' geometry, or if a more parametric representation is not intended. -* _IfcBeamStandardCase_ used for all occurrences of beams, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the _IfcMaterialProfileSetUsage_. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding _IfcMaterialProfileSetUsage_ assigned. ->> NOTE  Model view definitions and implementer agreements may further constrain the applicable geometry types, for example, by excluding tapering from an _IfcBeamStandardCase_ implementation.* _IfcBeam_ used for all other occurrences of beams, particularly for beams with non-uniformly changing profile sizes along the sweep, or beams having only 'AdvancedBrep', 'Brep', 'SurfaceModel', or 'Tessellation' geometry. ->> NOTE  Model view definitions and implementer agreements may impose the use of _IfcBeam_ in all cases by excluding _IfcBeamStandardCase_ from scope of the model view. > HISTORY  New entity in IFC1.0 diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcBeamStandardCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcBeamStandardCase/DocEntity.xml index 208adfcd7..abe8370c8 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcBeamStandardCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcBeamStandardCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcColumn/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcColumn/Documentation.md index e2d1858c1..07ad77d48 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcColumn/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcColumn/Documentation.md @@ -8,10 +8,10 @@ > NOTE  For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity _IfcMember_ exists. -The IFC specification provides two entities for column occurrences: +There are two main representations for column occurrences: -* _IfcColumnStandardCase_ used for all occurrences of columns, tthat have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the _IfcMaterialProfileSetUsage_. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding _IfcMaterialProfileSetUsage_ assigned. ->> NOTE  View definitions and implementer agreements may further constrain the applicable geometry types, for example by excluding tapering from an _IfcColumnStandardCase_ implementation. -* _IfcColumn_ used for all other occurrences of columns, particularly for columns with changing profile sizes along the extrusion, or columns defined by non-linear extrusion, or columns having only 'Brep', or 'SurfaceModel' geometry. +* _IfcColumn_ with _IfcMaterialProfileSetUsage_ is used for all occurrences of columns, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the _IfcMaterialProfileSetUsage_. These columns are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. +>> NOTE  The entity _IfcColumnStandardCase_ has been deprecated, _IfcColumn_ with _IfcMaterialProfileSetUsage_ is used instead. +* _IfcColumn_ is used for all other occurrences of columns, particularly for columns with changing profile sizes along the extrusion, or columns defined by non-linear extrusion, or columns having only 'Brep', or 'SurfaceModel' geometry, or if a more parametric representation is not intended. > HISTORY  New entity in IFC1.0 diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcColumnStandardCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcColumnStandardCase/DocEntity.xml index 55a05b7ff..42da07fc2 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcColumnStandardCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcColumnStandardCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoor/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoor/Documentation.md index 6e03bb303..a19140056 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoor/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoor/Documentation.md @@ -6,19 +6,19 @@ The _IfcDoor_ defines a particular occurrence of a door inserted in the spatial context of a project. A door can: * be inserted as a filler in an opening using the _IfcRelFillsElement_ relationship, then the _IfcDoor_ has an inverse attribute _FillsVoids_ provided; ->> NOTE  View definitions or implementer agreements may restrict the relationship to only include one door into one opening +>> NOTE  Model View Definitions may restrict the relationship to only include one door into one opening * be part of an element assembly, in general an _IfcCurtainWall_, using the _IfcRelAggregates_ relationship, then the _IfcDoor_ has an inverse attribute _Decomposes_ is provided; * be a "free standing" door, then the _IfcDoor_ has no inverse attributes _FillsVoids_ or _Decomposes_ provided. -This specification provides two entities for door occurrences: +There are two main representations for door occurrences: -* _IfcDoorStandardCase_ used for all occurrences of doors, that have a 'Profile' shape representation defined to which a set of shape parameters for lining and framing properties apply. Additionally it requires the provision of an _IfcDoorType_ that references one _IfcDoorLiningProperties_ and on to many _IfcDoorPanelProperties_; ->> NOTE  see _IfcDoorStandardCase_ for all specific constraints imposed by this subtype. -* _IfcDoor_ used for all other occurrences of doors, particularly for doors having only 'Brep', or 'SurfaceModel' geometry without applying shape parameters. +* _IfcDoor_ with a shape representation having RepresentationIdenfifier='Profile' is used for all occurrences of doors, that have a 'Profile' shape representation defined to which a set of shape parameters for lining and framing properties apply. Additionally it requires the provision of an _IfcDoorType_ that references one _IfcDoorLiningProperties_ and one to many _IfcDoorPanelProperties_; +>> NOTE  The entity _IfcDoorStandardCase_ has been deprecated. +* _IfcDoor_ with other shape representations an no assiged _IfcDoorLiningProperties_ and _IfcDoorPanelProperties_ is used for all other occurrences of doors, particularly for doors having only 'Brep', or 'SurfaceModel' geometry without applying shape parameters. -The actual parameters of the door and/or its shape are defined by the _IfcDoor_ as the occurrence definition (or project instance), or by the _IfcDoorType_ as the specific definition (or project type). The following parameters are given: +The actual parameters of the door and/or its shape are defined by the _IfcDoor_ as the object occurrence definition, or by the _IfcDoorType_ as the object type definition. The following parameters are provided: -* at the _IfcDoor_ or _IfcDoorStandardCase_ for occurrence specific parameters. The _IfcDoor_ specifies: +* at the _IfcDoor_ for occurrence specific parameters. The _IfcDoor_ specifies: * * the door width and height * the door opening direction (by the y-axis of the _ObjectPlacement_)* at the _IfcDoorType_, to which the _IfcDoor_ is related by the inverse relationship _IsTypedBy_ pointing to _IfcRelDefinesByType_, for type parameters common to all occurrences of the same type. @@ -38,10 +38,8 @@ The geometric representation of _IfcDoor_ is given by the _IfcProductDefinitionS The geometric representation of _IfcDoor_ is defined using the following (potentially multiple) _IfcShapeRepresentation_'s for its _IfcProductDefinitionShape_: -* **Profile**: A 'Curve3D' consisting of a single losed curve defining the outer boundary of the door (lining). The door parametric representation uses this profile in order to apply the door lining and panel parameter. If not provided, the profile of the _IfcOpeningElement_ is taken. +* **Profile**: A 'Curve3D' consisting of a single losed curve defining the outer boundary of the door (lining). The door parametric representation uses this profile in order to apply the door lining and panel parameter. If not provided, the profile of the _IfcOpeningElement_ is taken. * **FootPrint**: A 'GeometricCurveSet', or 'Annotation2D' representation defining the 2D shape of the door * **Body**: A 'SweptSolid', 'SurfaceModel', or 'Brep' representation defining the 3D shape of the door. -In addition the parametric representation of a (limited) door shape is available by applying the parameters from _IfcDoorType_ referencing _IfcDoorLiningProperties_ and _IfcDoorPanelProperties_. The purpose of the parameter is described at those entities and below (door opening operation by door type). - -The overall size of the _IfcDoor_ to be used to apply the lining or panel parameter provided by the _IfcDoorType_ is determined by the IfcShapeRepresentation with the RepresentationIdentifier = 'Profile'. +In addition the parametric representation of a (limited) door shape is available by applying the parameters from _IfcDoorType_ referencing _IfcDoorLiningProperties_ and _IfcDoorPanelProperties_. The purpose of the parameter is described at those entities and below (door opening operation by door type). The overall size of the _IfcDoor_ to be used to apply the lining or panel parameter provided by the _IfcDoorType_ is determined by the IfcShapeRepresentation with the RepresentationIdentifier = 'Profile'. diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoorStandardCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoorStandardCase/DocEntity.xml index 39fb7588d..9ab563bbd 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoorStandardCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoorStandardCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoorType/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoorType/Documentation.md index 948a140b4..df3952709 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoorType/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcDoorType/Documentation.md @@ -14,35 +14,3 @@ It is used to define a door specification, or door style (i.e. the specific prod Occurrences of the _IfcDoorType_ within building models are represented by instances of _IfcDoor_ or _IfcDoorStandardCase_. > HISTORY  New entity in IFC4. The entity _IfcDoorType_ replaces the previous definition _IfcDoorStyle_ (which is deprecated in IFC4). - -{ .use-head} -Operation type use definition - -The _IfcDoorTypeOperationEnum_ defines the general layout of the door type and its symbolic presentation. Depending on the enumerator, the appropriate instances of _IfcDoorLiningProperties_ and _IfcDoorPanelProperties_ are attached in the list of _HasPropertySets_. The _IfcDoorTypeOperationEnum_ mainly determines the hinge side (left hung, or right hung), the operation (swinging, sliding, folding, etc.) and the number of panels. - -> NOTE  There are different definitions in various countries on what a left opening or left hung or left swing door is (same for right). Therefore the IFC definition may derivate from the local standard and may need to be mapped appropriately. - -See geometry use definitions at _IfcDoorTypeOperationEnum_ for the correct usage of opening symbols for different operation types. - -{ .use-head} -Material Use Definition - -The material of the _IfcDoorType_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. - -The following keywords for _IfcMaterialConstituentSet.MaterialConstituents[n].Name_ shall be used: - -* 'Lining' - to indicate that the material constituent applies to to the door lining -* 'Framing' - to indicate that the material constituent applies to to the door framing, if not provided, the 'Lining' material information applied to frams as well -* 'Glazing' - to indicate that the material constituent applies to to the glazing as well - -If the fall back single _IfcMaterial_ is referenced, it applies to the lining and framing of the door. - -{ .use-head} -Geometry Use Definitions: - -The _IfcDoorType_ may define the common shape of door occurrences. The common shape can be defined by - -* applying shape parameters defined within the associated _IfcDoorLiningProperties_ and _IfcDoorPanelProperties_ applied to the 'Profile' geometric representation. It is only applicable if the _IfcDoorType_ has only occurrences of type _IfcDoorStandardCase_ (See geometric use definition of _IfcDoorStandardCase_ for further information). -* applying the _RepresentationMaps_ attribute to refer to a list of _IfcRepresentationMap_'s, that allow for multiple geometric representations (e.g. with _IfcShapeRepresentation_'s having an _RepresentationIdentifier_ 'Box', 'Profile', 'FootPrint', or 'Body') ->> NOTE  The product shape representations are defined as _RepresentationMaps_ (attribute of the supertype _IfcTypeProduct_), which get assigned by an element occurrence instance through the _IfcShapeRepresentation.Item[n]_ being an _IfcMappedItem_. See _IfcTypeProduct_ for further information. ->> NOTE  The values of attributes _RepresentationIdentifier_ and _RepresentationType_ of _IfcShapeRepresentation_ are restricted in the same way as those for _IfcDoor_ and _IfcDoorStandardCase_ diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcMember/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcMember/Documentation.md index a60baa777..82c774bda 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcMember/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcMember/Documentation.md @@ -2,10 +2,10 @@ > NOTE  The representation of a member in a structural analysis model is provided by _IfcStructuralCurveMember_ being part of an _IfcStructuralAnalysisModel_. -The IFC specification provides two entities for member occurrences: +There are two main representations for member occurrences: -* _IfcMemberStandardCase_ used for all occurrences of members, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the _IfcMaterialProfileSetUsage_. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding _IfcMaterialProfileSetUsage_ assigned. ->> NOTE  View definitions and implementer agreements may further constrain the applicable geometry types, such as by excluding tapering from an _IfcMemberStandardCase_ implementation. -* _IfcMember_ used for all other occurrences of members, particularly for members with changing profile sizes along the extrusion, or members defined by non-linear extrusion, or members having only 'Brep', or 'SurfaceModel' geometry. +* _IfcMember_ with _IfcMaterialProfileSetUsage_ is used for all occurrences of members, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the _IfcMaterialProfileSetUsage_. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding _IfcMaterialProfileSetUsage_ assigned. +>> NOTE  The entity _IfcMemberStandardCase_ has been deprecated, _IfcMember_ with _IfcMaterialProfileSetUsage_ is used instead. +* _IfcMember_ without _IfcMaterialProfileSetUsage_ is used for all other occurrences of members, particularly for members with changing profile sizes along the extrusion, or members defined by non-linear extrusion, or members having only 'Brep', or 'SurfaceModel' geometry, or if a more parametric representation is not intended. > HISTORY  New entity in IFC2x2 Addendum 1. diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcMemberStandardCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcMemberStandardCase/DocEntity.xml index 1ddbd6f1f..084d7283c 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcMemberStandardCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcMemberStandardCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcPlate/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcPlate/Documentation.md index bebadc652..df002568a 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcPlate/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcPlate/Documentation.md @@ -9,13 +9,12 @@ Plates are normally made of steel, other metallic material, or by glass panels. > NOTE  The representation of a plate in a structural analysis model is provided by _IfcStructuralSurfaceMember_ being part of an _IfcStructuralAnalysisModel_. -An instance _IfcPlate_ should preferably get its geometric representation and material assignment through the type definition by _IfcPlateType_ assigned using the _IfcRelDefinesByType_ relationship. This allows identical plates in a construction to be represented by the same instance of _IfcPlateType_. +An instance _IfcPlate_ should preferably get its geometric representation and material assignment through the type definition by _IfcPlateType_ assigned using the _IfcRelDefinesByType_ relationship. This allows identical plates in a construction to be represented by the same instance of _IfcPlateType_. The position number of a plate as often used in steel construction is assigned through the attribute _IfcElement.Tag_ -A plate may have openings, such as voids or recesses. They are defined by an _IfcOpeningElement_ attached to the plate using the inverse relationship _HasOpenings_ pointing to _IfcRelVoidsElement_. The position number of a plate as often used in steel construction is assigned through the attribute _IfcElement.Tag_ +There are two main representations for plate occurrences: -The IFC specification provides two entities for plate occurrences: - -* _IfcPlateStandardCase_ used for all occurrences of plates, that are prismatic and where the thickness parameter can be fully described by the _IfcMaterialLayerSetUsage_. These plates are always represented geometrically by a 'SweptSolid' geometry (or by a 'Clipping' geometry based on 'SweptSolid'), if a 3D geometric representation is assigned. In addition they have to have a corresponding _IfcMaterialLayerSetUsage_ assigned. -* _IfcPlate_ used for all other occurrences of plates, particularly for plates with changing thickness, or plates with non planar surfaces, and plates having only 'SurfaceModel' or 'Brep' geometry. +* _IfcPlate_ with _IfcMaterialLayerSetUsage_ is used for all occurrences of plates, that are prismatic and where the thickness parameter can be fully described by the _IfcMaterialLayerSetUsage_. These plates are always represented geometrically by a 'SweptSolid' geometry (or by a 'Clipping' geometry based on 'SweptSolid'), if a 3D geometric representation is assigned. +>> NOTE  The entity _IfcPlateStandardCase_ has been deprecated, _IfcPlate_ with _IfcMaterialLayerSetUsage_ is used instead. +* _IfcPlate_ without _IfcMaterialLayerSetUsage_ is used for all other occurrences of plates, particularly for plates with changing thickness, or plates with non planar surfaces, and plates having only 'SurfaceModel' or 'Brep' geometry or if a more parametric representation is not intended. > HISTORY  New entity in IFC2x2 diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcPlateStandardCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcPlateStandardCase/DocEntity.xml index 39874ee59..d3a0d9251 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcPlateStandardCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcPlateStandardCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcRelCoversBldgElements/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcRelCoversBldgElements/DocEntity.xml index 30bd5b1b7..e678245dd 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcRelCoversBldgElements/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcRelCoversBldgElements/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcRelCoversSpaces/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcRelCoversSpaces/DocEntity.xml index 8894ea437..b9a336ab3 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcRelCoversSpaces/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcRelCoversSpaces/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlab/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlab/Documentation.md index 389e69a3d..add896e37 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlab/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlab/Documentation.md @@ -10,12 +10,12 @@ Only the core or constructional part of this construction is considered to be a > NOTE  An arbitrary planar element to which this semantic information is not applicable or irrelevant shall be modeled as _IfcPlate_. -A slab may have openings, such as floor openings, or recesses. They are defined by an _IfcOpeningElement_ attached to the slab using the inverse relationship _HasOpenings_ pointing to _IfcRelVoidsElement_. +There are two main representations for slab occurrences: -There are three entities for slab occurrences: +* _IfcSlab_ with _IfcMaterialLayerSetUsage_ is used for all occurrences of slabs, that are prismatic and where the thickness parameter can be fully described by the _IfcMaterialLayerSetUsage_. These slabs are always represented geometrically by a 'SweptSolid' geometry (or by a 'Clipping' geometry based on 'SweptSolid'), if a 3D geometric representation is assigned. +>> NOTE  The entity _IfcSlabStandardCase_ has been deprecated, _IfcSlab_ with _IfcMaterialLayerSetUsage_ is used instead. +* _IfcSlab_ without _IfcMaterialLayerSetUsage_ is used for all other occurrences of slabs, particularly for slabs with changing thickness, or slabs with non planar surfaces, and slabs having only 'SweptSolid' or 'Brep' geometry, or if a more parametric representation is not intended. -* _IfcSlabStandardCase_ used for all occurrences of slabs, that are prismatic and where the thickness parameter can be fully described by the _IfcMaterialLayerSetUsage_. These slabs are always represented geometrically by a 'SweptSolid' geometry (or by a 'Clipping' geometry based on 'SweptSolid'), if a 3D geometric representation is assigned. In addition they have to have a corresponding _IfcMaterialLayerSetUsage_ assigned. -* _IfcSlabElementedCase_ used for occurrences of slabs which are aggregated from subordinate elements, following specific decomposition rules expressed by the mandatory use of _IfcRelAggregates_ relationship. -* _IfcSlab_ used for all other occurrences of slabs, particularly for slabs with changing thickness, or slabs with non planar surfaces, and slabs having only 'SweptSolid' or 'Brep' geometry. +> NOTE  The entity _IfcSlabElementedCase_ has been deprecated, _IfcSlab>_ with _IfcRelAggregates_ is used to describe occurrences of slabs which are aggregated from subordinate elements,. > HISTORY  New entity in IFC2.0; it is a merger of the two previous entities IfcFloor, IfcRoofSlab, introduced in IFC1.0 diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlabElementedCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlabElementedCase/DocEntity.xml index e4282b143..9f50271cf 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlabElementedCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlabElementedCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlabStandardCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlabStandardCase/DocEntity.xml index b26d19d62..0d695a8b7 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlabStandardCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcSlabStandardCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcStairFlight/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcStairFlight/DocEntity.xml index 85728ed69..3afa8aa23 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcStairFlight/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcStairFlight/DocEntity.xml @@ -7,7 +7,7 @@ - + Number of the risers included in the stair flight { .change-ifc2x4} > IFC4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use _Pset_StairFlightCommon.NumberOfRisers_ instead. @@ -18,7 +18,7 @@
- + Number of treads included in the stair flight. { .change-ifc2x4} > IFC4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use _Pset_StairFlightCommon.NumberOfTreads_ instead. @@ -29,7 +29,7 @@ - + Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight. { .change-ifc2x4} @@ -41,7 +41,7 @@ - + Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight. { .change-ifc2x4} diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWall/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWall/Documentation.md index 8cd938968..5f334c37a 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWall/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWall/Documentation.md @@ -7,14 +7,12 @@ > NOTE  An arbitrary planar element to which this semantic information is not applicable (is not predominantly vertical), shall be modeled as _IfcPlate_. -A wall may have openings, such as wall openings, openings used for windows or doors, or niches and recesses. They are defined by an _IfcOpeningElement_ attached to the wall using the inverse relationship _HasOpenings_ pointing to _IfcRelVoidsElement_. +There are two main representations for for wall occurrences: -> NOTE  Walls with openings that have already been modeled within the enclosing geometry may use the relationship _IfcRelConnectsElements_ to associate the wall with embedded elements such as doors and windows. +* _IfcWall_ with _IfcMaterialLayerSetUsage_ is used for all occurrences of walls, that have a non-changing thickness along the wall path and where the thickness parameter can be fully described by a material layer set. These walls are always represented geometrically by an 'Axis' and a 'SweptSolid' shape representation (or by a 'Clipping' geometry based on 'SweptSolid'), if a 3D geometric representation is assigned. +>> NOTE  The entity _IfcWallStandardCase_ has been deprecated, _IfcWall_ with _IfcMaterialLayerSetUsage_ is used instead. +* _IfcWall_ without _IfcMaterialLayerSetUsage_ is used for all other occurrences of wall, particularly for walls with changing thickness along the wall path (e.g. polygonal walls), or walls with a non-rectangular cross sections (e.g. L-shaped retaining walls), and walls having an extrusion axis that is unequal to the global Z axis of the project (i.e. non-vertical walls), or walls having only 'Brep', or 'SurfaceModel' geometry, or if a more parametric representation is not intended. -There are three entities for wall occurrences: - -* _IfcWallStandardCase_  used for all occurrences of walls, that have a non-changing thickness along the wall path and where the thickness parameter can be fully described by a material layer set. These walls are always represented geometrically by an 'Axis' and a 'SweptSolid' shape representation (or by a 'Clipping' geometry based on 'SweptSolid'), if a 3D geometric representation is assigned. In addition they have to have a corresponding _IfcMaterialProfileSetUsage_ assigned. -* _IfcWallElementedCase_ used for occurrences of walls which are aggregated from subordinate elements, following specific decomposition rules expressed by the mandatory use of _IfcRelAggregates_ relationship. -* _IfcWall_  used for all other occurrences of wall, particularly for walls with changing thickness along the wall path (e.g. polygonal walls), or walls with a non-rectangular cross sections (e.g. L-shaped retaining walls), and walls having an extrusion axis that is unequal to the global Z axis of the project (i.e. non-vertical walls), or walls having only 'Brep', or 'SurfaceModel' geometry. +> NOTE  The entity _IfcWallbElementedCase_ has been deprecated, _IfcWall>_ with _IfcRelAggregates_ is used to describe occurrences of wall which are aggregated from subordinate elements, such as wall panels. > HISTORY  New entity in IFC1.0 diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWallElementedCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWallElementedCase/DocEntity.xml index 07918c1dd..830036195 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWallElementedCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWallElementedCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWallStandardCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWallStandardCase/DocEntity.xml index 29a0117f3..454381170 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWallStandardCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWallStandardCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindow/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindow/Documentation.md index b2174940b..19106d8bd 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindow/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindow/Documentation.md @@ -6,31 +6,31 @@ The _IfcWindow_ defines a particular occurrence of a window inserted in the spatial context of a project. A window can: -* be inserted into an _IfcOpeningElement_ using the _IfcRelFillsElement_ relationship, then the _IfcWindow_ has an inverse attribute _FillsVoids_ provided, +* be inserted into an _IfcOpeningElement_ using the _IfcRelFillsElement_ relationship, then the _IfcWindow_ has an inverse attribute _FillsVoids_ provided, +>> NOTE  Model View Definitions or implementer agreements may restrict the relationship to only include one window (or door) into one opening. * be part of an element assembly, often an _IfcCurtainWall_, using the _IfcRelAggregates_ relationship, then the inverse attribute _Decomposes_ is provided. * or be a "free standing" window, then the _IfcWindow_ has no inverse attributes _FillsVoids_ or _Decomposes_ provided. -> NOTE  View definitions or implementer agreements may restrict the relationship to only include one window (or door) into one opening. +There are two main representations for window occurrences: -There are two entities for window occurrences: - -* _IfcWindowStandardCase_ used for all occurrences of windows, that have a 'Profile' shape representation defined to which a set of shape parameters for lining and framing properties apply. Additionally it requires the provision of an _IfcWindowType_ that references one _IfcWindowLiningProperties_ and on to many _IfcWindowPanelProperties_. +* _IfcWindow_ with a shape representation having RepresentationIdenfifier='Profile' is used for all occurrences of windows, that have a 'Profile' shape representation defined to which a set of shape parameters for lining and framing properties apply. Additionally it requires the provision of an _IfcWindowType_ that references one _IfcWindowLiningProperties_ and on to many _IfcWindowPanelProperties_. +>> NOTE  The entity _IfcWindowStandardCase_ has been deprecated. * _IfcWindow_ used for all other occurrences of windows, particularly for windows having only 'Brep', or 'SurfaceModel' geometry without applying shape parameters. -The actual parameter of the window and/or its shape is defined at the _IfcWindow_ as the occurrence definition (or project instance), or by the _IfcWindowType_ as the specific definition (or project type). The following parameters are given: +The actual parameter of the window and/or its shape is defined at the _IfcWindow_ as the object occurrence definition, or by the _IfcWindowType_ as the object type definition . The following parameters are provided: -* at the _IfcWindow_ or _IfcWindowStandardCase_ for occurrence specific parameters. The _IfcWindow_ specifies: +* at the _IfcWindow_ for occurrence specific parameters. The _IfcWindow_ specifies: * * the window width and height * the window opening direction (by the y-axis of the _ObjectPlacement_) -* at the _IfcWindowType_ to which the _IfcWindow_ is related by the inverse relationship _IsDefinedBy_ pointing to _IfcRelDefinesByType_, for type parameters common to all occurrences of the same type. +* at the _IfcWindowType_ to which the _IfcWindow_ is related by the inverse relationship _IsTypedBy_ pointing to _IfcRelDefinesByType_, for type parameters common to all occurrences of the same type. * * the partitioning type (single panel, double panel, tripel panel, more panels) * the operation type (swing, tilt and turn, pivot revolve, fixed case ment, etc.) * the window panel hinge side (by using two different styles for right and left opening windows) * the construction material type * the particular attributes for the lining by the _IfcWindowLiningProperties_ - * the particular attributes for the panels by the  _IfcWindowPanelProperties_ + * the particular attributes for the panels by the _IfcWindowPanelProperties_ > HISTORY  New entity in IFC1.0. diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowStandardCase/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowStandardCase/DocEntity.xml index 067294956..4e001656a 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowStandardCase/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowStandardCase/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowType/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowType/DocEntity.xml index 62b81e1e2..afbcc051f 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowType/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowType/DocEntity.xml @@ -1,5 +1,5 @@  - + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowType/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowType/Documentation.md index cf9986d58..3d9b66ce8 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowType/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Entities/IfcWindowType/Documentation.md @@ -14,26 +14,6 @@ Occurrences of the _IfcWindowType_ within building models are represented by ins > HISTORY  New entity in IFC4. The entity _IfcWindowType_ replaces the previous definition _IfcWindowStyle_ (which is deprecated in IFC4). -{ .use-head} -Partitioning type use definition - -The _IfcWindowTypePartitioningEnum_ defines the general layout of the window type and its symbolic presentation. Depending on the enumerator, the appropriate instances of _IfcWindowLiningProperties_ and _IfcWindowPanelProperties_ are attached in the list of _HasPropertySets_. The _IfcWindowTypePartitioningEnum_ mainly determines the way of partitioning the window into individual window panels and thereby number and position of window panels. - -See geometry use definitions at _IfcWindowTypePartitioningEnum_ for the correct usage of panel partitioning and _IfcWindowPanelProperties_ for the opening symbols for different panel operation types. - -{ .use-head} -Material Use Definition - -The material of the _IfcWindowType_ is defined by the _IfcMaterialConstituentSet_ or as fall back by _IfcMaterial_ and attached by the _IfcRelAssociatesMaterial_._RelatingMaterial_. It is accessible by the inverse _HasAssociations_ relationship. - -The following keywords for _IfcMaterialConstituentSet.MaterialConstituents[n].Name_ shall be used: - -* 'Lining' - to indicate that the material constituent applies to to the window lining -* 'Framing' - to indicate that the material constituent applies to to the window panels, if not provided, the 'Lining' material information applied to panels as well -* 'Glazing' - to indicate that the material constituent applies to to the glazing part - -If the fall back single _IfcMaterial_ is referenced, it applies to the lining and framing of the window. - { .use-head} Geometry Use Definitions: diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Types/IfcWallTypeEnum/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Types/IfcWallTypeEnum/Documentation.md index 6a0bd17e6..bb7572e38 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Types/IfcWallTypeEnum/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedBldgElements/Types/IfcWallTypeEnum/Documentation.md @@ -10,6 +10,10 @@ { .change-ifc2x4} > IFC4 CHANGE  New enumerators MOVABLE, PARAPET, PARTITIONING, and SOLIDWALL have been added. -> IFC4 DEPRECATION  The enumerators STANDARD, POLYGONAL and ELEMENTEDWALL are deprecated and shall no longer be used. +> +> + +{ .deprecated} +> IFC4 DEPRECATION  The enumerator POLYGONAL is deprecated and shall no longer be used. > NOTE  The potentially misleading term _SHEAR_ shall not impose a particular resistance against shear forces, but a particular shape. diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastener/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastener/DocEntity.xml index 750e1be82..b9278662d 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastener/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastener/DocEntity.xml @@ -1,16 +1,14 @@  - + - + The nominal diameter describing the cross-section size of the fastener type. - -{ .change-ifc2x4} -> IFC4 CHANGE&nbsp; Deprecated; the respective attribute of _IfcMechanicalFastenerType_ should be used instead. +> Deprecated in IFC4 @@ -19,11 +17,9 @@ - + The nominal length describing the longitudinal dimensions of the fastener type. - -{ .change-ifc2x4} -> IFC4 CHANGE&nbsp; Deprecated; the respective attribute of _IfcMechanicalFastenerType_ should be used instead. +> Deprecated in IFC4 diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastener/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastener/Documentation.md index 7b2b10824..597521ed4 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastener/Documentation.md +++ b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastener/Documentation.md @@ -3,4 +3,4 @@ > HISTORY  New entity in IFC2x2 { .change-ifc2x4} -> IFC4 CHANGE  Supertype changed from _IfcFastener_ to _IfcElementComponent_. Attribute _PredefinedType_ added. Attributes _NominalDiameter_ and _NominalLength_ deprecated. +> IFC4 CHANGE  Supertype changed from _IfcFastener_ to _IfcElementComponent_. Attribute _PredefinedType_ added. Attributes _NominalDiameter_ and _NominalLength_ are deprecated. diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastenerType/DocEntity.xml b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastenerType/DocEntity.xml index d4996ed4d..019a60d37 100644 --- a/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastenerType/DocEntity.xml +++ b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/Entities/IfcMechanicalFastenerType/DocEntity.xml @@ -1,5 +1,5 @@  - + @@ -14,7 +14,7 @@ - + The nominal diameter describing the cross-section size of the fastener type. @@ -22,7 +22,7 @@ - + The nominal length describing the longitudinal dimensions of the fastener type. diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/PropertySets/Pset_MechanicalFastenerCommon/DocPropertySet.xml b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/PropertySets/Pset_MechanicalFastenerCommon/DocPropertySet.xml new file mode 100644 index 000000000..b39a05180 --- /dev/null +++ b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/PropertySets/Pset_MechanicalFastenerCommon/DocPropertySet.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/PropertySets/Pset_MechanicalFastenerCommon/Documentation.md b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/PropertySets/Pset_MechanicalFastenerCommon/Documentation.md new file mode 100644 index 000000000..0a28a204d --- /dev/null +++ b/Sections/Shared element data schemas/Schemas/IfcSharedComponentElements/PropertySets/Pset_MechanicalFastenerCommon/Documentation.md @@ -0,0 +1 @@ +Properties related to mechanical fasteners. diff --git a/Templates/Object Association/DocTemplateDefinition.xml b/Templates/Association/DocTemplateDefinition.xml similarity index 82% rename from Templates/Object Association/DocTemplateDefinition.xml rename to Templates/Association/DocTemplateDefinition.xml index c65bace67..4cda6614d 100644 --- a/Templates/Object Association/DocTemplateDefinition.xml +++ b/Templates/Association/DocTemplateDefinition.xml @@ -1,5 +1,5 @@  - + The concept _Approval Association_ describes how object or object types can have associated approvals indicating who is required to approve the data, the status of whether it has been approved, and the date/time of such approval. Approvals may require multiple parties fulfilling various roles. @@ -37,51 +37,43 @@ - - The concept _Classification Association_ describes how objects and object types can be further described by associating references to external sources of information. The source of information can be: + + Objects, type objects, properties, and some resource schema entities can be further described by associating references to external sources of information. The source of information can be: * a classification system; * a dictionary server; * any external catalogue that classifies the object further; -* any service that combine the above features. +* a service that combine the above features. -An individual item within the external source of information can be selected. It then applies the inherent meaning of the item to the _IfcObject_ or _IfcTypeObject_. - -> NOTE&nbsp; The classification system or dictionary server that is used within the project itself can also be indicated at the level of _IfcProject_ or _IfcProjectLibrary_ either as an external source, or copied with all relevant classification items into the project data. Use the concept _Project Classification Information_ to utilize this functionality. - -The main attributes to be provided for a _Classification Association_ are: - -* _Identification_: holds the key provided for a specific references to classification items (or tables) -* _Name_: allows for a human interpretable designation of a classification notation +An individual item within the external source of information can be selected. It then applies the inherent meaning of the item to the object or property. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="Name[Value]='Beam'"/> + <TemplateRule Parameters="Identification[Value]='QRO 200x16'"/> + <TemplateRule Parameters="ClassificationName[Value]='EN 10210-2'"/> +</TemplateRules> + + + + + + + - + - - - - - - - - - - - - - - - - + @@ -91,43 +83,18 @@ The main attributes to be provided for a _Classification Association_ are: - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -140,15 +107,22 @@ The main attributes to be provided for a _Classification Association_ are: - - The concept _Constraint Association_ describes how object or object types may have associated constraints indicating a qualitative objective or a quantitative metric to be met. + + { .std} +Any object or property may have associated constraints indicating a qualitative objective or a quantitative metric to be met. +{ .std} Constraints based on metrics are measurable, such that the status of a metric being valid is computer-interpretable. Metric constraints are based on simple conditional logic such as greater than a particular value or included within a specified list or table. Constraints may be combine multiple metrics using boolean logic such as AND, OR, XOR, or NOT. + + + + + @@ -157,108 +131,15 @@ Constraints based on metrics are measurable, such that the status of a metric be - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -268,6 +149,96 @@ Constraints based on metrics are measurable, such that the status of a metric be + + + The constraint model may be used to indicate mappings between data in the IFC model and external documents. This concept template may also be used by software applications to translate data to/from spreadsheets without necessarily instantiating constraint relationships within an IFC data set. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The concept _Document Association_ describes how objects or object types can have associated documents indicating external files. Documents may be referenced in their entirety such as to capture product brochures, data sheets, multimedia content, or thumbnail images. Contents within documents may be referenced from any object, and may be used to synchronize information in other files such as work schedules for project management applications. @@ -393,6 +364,13 @@ Materials can have representations for surface styles indicating colors, texture Material constituents are associated with products or product types where materials are placed arbitrarily (unlike 1D material profiles or 2D material layers). The mapping of materials to geometry may be accomplished using _IfcShapeAspect_. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="MaterialName[Value]='PVC' AND ConstituentName[Value]='Beschichtung'"/> +</TemplateRules> + + @@ -577,6 +555,16 @@ The material of those standard case elements is defined by _IfcMaterialLayerSetU Material layer sets are associated with products or product types to indicate a parametric specification of layers having specified thickness filling a boundary defined on the product, or the occurrences of the product type. Examples of such products or product types are slabs, walls, and plates. + + + <TemplateRules operator="and"> +<TemplateRule Parameters="HasLayer[Size]=3"/> +<TemplateRule Parameters="LayerName[Value]='reinforced concrete' AND LayerThickness[Value]=250 AND Category[Value]='Load Bearing'"/> +<TemplateRule Parameters="LayerName[Value]='thermal insulation' AND LayerThickness[Value]=100 AND Category[Value]='Insulation'"/> +<TemplateRule Parameters="LayerName[Value]='metal sheet' AND LayerThickness[Value]=3 AND Category[Value]='Outer finish'"/> +</TemplateRules> + + @@ -754,6 +742,13 @@ The material of those standard case elements is defined by _IfcMaterialProfileSe Material profile sets are associated with products or product types where materials are placed in cross-sections of specified dimensions following a path defined at occurrences of the type. Examples of such products are beams, columns, members, reinforcing, footings, piles, pipe segments, duct segments, and cable segments. > EXAMPLE&nbsp; Material profile sets can be provided at the _IfcColumnType_, defining the common material information for all occurrences of the same column type. It is then accessible by the inverse _IsTypedBy_ relationship at _IfcColumn_ pointing to _IfcColumnType_ having the _HasAssociations_ inverse relationship to _IfcRelAssociatesMaterial_ with _RelatingMaterial_ refering to the _IfcMaterialProfileSet_>. If an individual material association is provide at the _IfcColumn_ and the _IfcColumnType_, then the material directly assigned to _IfcColumn_ overrides the material assigned to _IfcColumnType_. + + + <TemplateRules operator="and"> +<TemplateRule Parameters="MaterialName[Value]='Steel' AND ProfileName[Value]='IPE 120' AND Category[Value]='Load Bearing'"/> +</TemplateRules> + + @@ -811,7 +806,7 @@ The material of those standard case elements is defined by _IfcMaterialProfileSe - + @@ -840,6 +835,13 @@ The material of those standard case elements is defined by _IfcMaterialProfileSe Materials are directly associated with products and product types to indicate a uniform material for the entire object. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="MaterialName[Value]='steel'"/> +</TemplateRules> + + diff --git a/Templates/Object Assignment/DocTemplateDefinition.xml b/Templates/Object Assignment/DocTemplateDefinition.xml index bc8d35464..e4b9476a5 100644 --- a/Templates/Object Assignment/DocTemplateDefinition.xml +++ b/Templates/Object Assignment/DocTemplateDefinition.xml @@ -24,7 +24,7 @@ The grouping relationship does not apply any other meaning then grouping objects under some aspect. It is non-hierarchical, meaning that objects can be assigned to many groups, and it does not interfere with other relationship concepts, such as _Element Decomposition_. - + @@ -35,16 +35,32 @@ The grouping relationship does not apply any other meaning then grouping objects - + The _Component to Distribution System_ assignment + + + <TemplateRules operator="and"> + <!-- Check assignement to IfcDistributionSystem --> + <TemplateRule Parameters="IsAssigned[Size]>0 AND SystemName[Value]='WWS_1'"/> +</TemplateRules> + + - + - + + + + + + + + + @@ -55,14 +71,30 @@ The grouping relationship does not apply any other meaning then grouping objects The _Port to Distribution System_ assignment + + + <TemplateRules operator="and"> + <!-- Check assignement to IfcDistributionSystem --> + <TemplateRule Parameters="IsAssigned[Size]>0 AND SystemName[Value]='WWS_1'"/> +</TemplateRules> + + - + - + + + + + + + + + @@ -102,6 +134,13 @@ The _Group Assignment_ concept establish a given object as being the group colle > NOTE&nbsp; The _IfcGroup_ maybe not yet have a grouping relationship established, it then identifies an empty group. > EXAMPLE&nbsp; An air handler belonging to an air conditioning system is an example of such group assignment. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="IsGrouped[Size]>1 AND RelatedObjects[Size]>4"/> +</TemplateRules> + + diff --git a/Templates/Object Association/Documentation.md b/Templates/Object Association/Documentation.md deleted file mode 100644 index d96275aa8..000000000 --- a/Templates/Object Association/Documentation.md +++ /dev/null @@ -1 +0,0 @@ -The concept of an _Object Association_ provides the means to associate sources of information (most notably a classification, library, document, approval, contraint, or material) to objects definitions. The information associated may reside internally or externally in regard of the project data. diff --git a/Templates/Object Attributes/DocTemplateDefinition.xml b/Templates/Object Attributes/DocTemplateDefinition.xml index fcc0e4aae..3c8dbe86e 100644 --- a/Templates/Object Attributes/DocTemplateDefinition.xml +++ b/Templates/Object Attributes/DocTemplateDefinition.xml @@ -16,6 +16,21 @@ Doors may be further described by their size and operation type. + + + <TemplateRules operator="and"> + <TemplateRules operator="or"> + <TemplateRule Parameters="OperationType[Value]='SINGLE_SWING_LEFT'"/> + <TemplateRules operator="and"> + <TemplateRule Parameters="OperationType[Exits]=FALSE"/> + <TemplateRule Parameters="TypeOperationType[Value]='SINGLE_SWING_LEFT' "/> + </TemplateRules> + </TemplateRules> + <TemplateRule Parameters="OverallHeight[Value]=2.20"/> + <TemplateRule Parameters="OverallWidth[Value]=1.10"/> +</TemplateRules> + + @@ -52,7 +67,7 @@ - + @@ -114,269 +129,23 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Windows may be further described by their size and partitioning type. + + + <TemplateRules operator="and"> + <TemplateRules operator="or"> + <TemplateRule Parameters="PartitioningType[Value]='DOUBLE_PANEL_VERTICAL'"/> + <TemplateRules operator="and"> + <TemplateRule Parameters="PartitioningType[Exits]=FALSE"/> + <TemplateRule Parameters="TypePartitioningType[Value]='DOUBLE_PANEL_VERTICAL'"/> + </TemplateRules> + </TemplateRules> + <TemplateRule Parameters="OverallHeight[Value]=2.50"/> + <TemplateRule Parameters="OverallWidth[Value]=1.75"/> +</TemplateRules> + + @@ -470,6 +239,15 @@ Grids may be used to provide a layout reference for building elements. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="UAxes[Size]=5"/> + <TemplateRule Parameters="VAxes[Size]=5"/> + <TemplateRule Parameters="WAxes[Size]=5"/> +</TemplateRules> + + @@ -548,6 +326,19 @@ A building may be located according to a postal address, and may indicate a baseline elevation and land elevation. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="Name[Value]='AEC3 Office'"/> + <TemplateRule Parameters="LongName[Value]='AEC3 Office Building Munich'"/> + <TemplateRule Parameters="HasAdress[Size]=1"/> + <TemplateRule Parameters="AddressLines[Value]='Joseph-Wild-Str.13'"/> + <TemplateRule Parameters="Town[Value]='München'"/> + <TemplateRule Parameters="PostalCode[Value]='81829'"/> + <TemplateRule Parameters="Country[Value]='D'"/> +</TemplateRules> + + @@ -636,6 +427,18 @@ A site may be located according to latitute, longitute, elevation, land title designation, and/or postal address. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="Name[Value]='SiteName'"/> + <TemplateRule Parameters="LongName[Value]='LongSiteName'"/> + <TemplateRule Parameters="Latitude[Value]=-33.85"/> + <TemplateRule Parameters="Longitude[Value]=151.2"/> + <TemplateRule Parameters="Elevation[Value]=58"/> + <TemplateRule Parameters="HasAddress[Size]>0"/> +</TemplateRules> + + @@ -734,6 +537,16 @@ Space may be further described by their elevation including floor coverings. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="Name[Value]='OF-02.012'"/> + <TemplateRule Parameters="LongName[Value]='Office 2.12'"/> + <TemplateRule Parameters="TypeName[Value]='OF-02'"/> + <TemplateRule Parameters="TypeLongName[Value]='Office OF-02'"/> +</TemplateRules> + + @@ -820,6 +633,15 @@ A building storey may be indicate the elevation of the top surface of the floor slab, excluding any floor coverings. For storeys with raised or sunken areas, the elevation should reflect the largest area of the slab. For split-level buildings, each level should have it's own _IfcBuildingStorey_. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="Name[Value]='OG2'"/> + <TemplateRule Parameters="LongName[Value]='Obergeschoss 2'"/> + <TemplateRule Parameters="Elevation[Value]=10.0"/> +</TemplateRules> + + @@ -845,6 +667,17 @@ + + Systems may be further identified via the _LongName_ attribute. This value should generally correspond to readable names for systems. While the _Name_ attribute generally provides a coded or abbreviated identifie, like "HW", the _LongName_ provides a functional name for the system such as "Hot water system". + + + + + + + + + @@ -858,6 +691,24 @@ The main attributes to be provided for a _Object Occurrence Predefined Type_ are If the object is typed by an _IfcTypeObject_, then the _PredefinedType_ at the _IfcObject_ occurrence shall only be used if the _PredefinedType_ at _IfcTypeObject_ is set to _NOTDEFINED_. + + + <TemplateRules operator="and"> + <TemplateRules operator="or"> + <!-- Other checking type attribute on object or occurrence --> + <TemplateRule Parameters="PredefinedType[Value]='USERDEFINED' AND UserDefinedType[Value]='Aussteifung'"/> + <TemplateRules operator="and"> + <TemplateRules operator="nor"> + <TemplateRule Parameters="PredefinedType[Value]='USERDEFINED' OR UserDefinedType[Value]='Aussteifung'"/> + </TemplateRules> + <TemplateRules operator="or"> + <TemplateRule Parameters="TypePredefinedType[Value]='USERDEFINED' AND TypeUserdefinedType[Value]='Aussteifung'"/> + </TemplateRules> + </TemplateRules> + </TemplateRules> +</TemplateRules> + + @@ -901,7 +752,11 @@ The main attributes to be provided for a _Object Occurrence Predefined Type_ are - + + + + + @@ -1048,7 +903,11 @@ The main attributes to be provided for a _Object Occurrence Predefined Type_ are - + + + + + @@ -1115,6 +974,13 @@ Specific subtypes introduce additional attributes for _User Identity_. * Spatial objects may be further identified via the _LongName_ attribute. This value should generally correspond to building signage describing floor levels or rooms. While the _Name_ attribute generally provides a coded or abbreviated identifier, the _LongName_ provides a functional name for the location such as "Reception Area". See concept template _Spatial Element Occurrence Attributes_ * Physical elements may be further identified via the _Tag_ attribute. This is a human readable identifier such as an element or item number While there is no restriction on usage of such tags, it is recommended the _Tag_ is unique within it's containing scope. See concept template _Element Occurrence Attributes_ + + + <TemplateRules operator="and"> + <TemplateRule Parameters="ObjectName[Value]='Beam_01'"/> +</TemplateRules> + + diff --git a/Templates/Object Attributes/Documentation.md b/Templates/Object Attributes/Documentation.md index 2d8321db7..da1572f06 100644 --- a/Templates/Object Attributes/Documentation.md +++ b/Templates/Object Attributes/Documentation.md @@ -5,8 +5,8 @@ Resource-level instances (not deriving from _IfcRoot_) do not have any identity, The distinction between rooted and non-rooted (resource-level) entities achieves several goals: { .ref} -* File size may be reduced by interning (sharing) non-rooted data instances; -* Database retrieval may be more efficient by storing non-rooted data local to rooted data instances; -* Storage size may be reduced by avoiding IFC-GUID storage for items not requiring direct retrieval; -* Comparisons of differences may be done at a higher level where the context of such change is apparent; +* File size may be reduced by interning (sharing) non-rooted data instances; +* Database retrieval may be more efficient by storing non-rooted data local to rooted data instances; +* Storage size may be reduced by avoiding IFC-GUID storage for items not requiring direct retrieval; +* Comparisons of differences may be done at a higher level where the context of such change is apparent; * Implementations may treat non-rooted data instances as immutable for efficiency or simplified usage. diff --git a/Templates/Object Composition/DocTemplateDefinition.xml b/Templates/Object Composition/DocTemplateDefinition.xml index 8abe86de6..0fa5a2602 100644 --- a/Templates/Object Composition/DocTemplateDefinition.xml +++ b/Templates/Object Composition/DocTemplateDefinition.xml @@ -24,6 +24,13 @@ The part may also provide, in addition to the aggregate, more specifically the f The part should not be contained in the spatial hierarchy, i.e. the concept _Spatial Containment_ shall not be used at the level of parts. The part is contained in the spatial structure by the spatial containment of its composite. > EXAMPLE&nbsp; An _IfcBeam_ may be aggregated into an element assembly using the objectified relationship _IfcRelAggregates_, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of _IfcElement_ can be an element assembly, with _IfcElementAssembly_ as a special focus subtype. In this case it should not be additionally contained in the spatial hierarchy, i.e. _SELF\IfcElement.ContainedInStructure_ should be NIL. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="Decomposes[Exists]=TRUE AND RelatingObject[Type]='IfcWallStandardCase' AND ElementName[Value]='Facade'"/> +</TemplateRules> + + @@ -62,6 +69,14 @@ By default the following constraints apply to an element being decomposed by _El * the composite shall not have an own _Material_ assignment, material is assigned to the parts. > NOTE&nbsp; Use the sub template _Element Decomposition Required_ if any instance of the element is required to represent a composite with declared parts. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="IsDecomposedBy[Exists]=TRUE AND RelatedObjects[Size]=2"/> + <TemplateRule Parameters="RelatedObjects[Type]='IfcSlab' OR RelatedObjects[Type]='IfcRailing'"/> +</TemplateRules> + + @@ -96,6 +111,14 @@ The order of spatial structure elements being included in the concept for builin In addition a more general hierarchical tree of spatial elements can be created by using _IfcSpatialZone_, from high to low: _IfcProject_, _IfcSite_, and _IfcSpatialZone_ with _IfcSite_ being an optional level. > NOTE&nbsp; The more general hiearchical tree has been introduced as an intermediate solution and stub for further extensions to support infrastructure works. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="RelatingObject[Type]='IfcProject' AND ProjectName[Value]='Green Architecture Sydney' "/> + <!-- <TemplateRule Parameters="RelatingObject[Type]='IfcSite' AND SpatialElementName[Value]='LOT-1002'"/> --> +</TemplateRules> + + @@ -131,16 +154,24 @@ The order of spatial structure elements being included in the concept for builin In addition a more general hierarchical tree of spatial elements can be created by using _IfcSpatialZone_, from low to high: _IfcSpatialZone_, _IfcSite_, and _IfcProject_, with _IfcSite_ being an optional level. > NOTE&nbsp; The more general hiearchical tree has been introduced as an intermediate solution and stub for further extensions to support infrastructure works. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="RelatedObjects[Size]=4 AND RelatedObjects[Type]='IfcBuildingStorey'"/> + <TemplateRule Parameters="SpatialElementName[Value]='UG' OR SpatialElementName[Value]='EG' OR SpatialElementName[Value]='OG1' OR SpatialElementName[Value]='DG'"/> +</TemplateRules> + + - + - + @@ -188,6 +219,13 @@ In addition a more general hierarchical tree of spatial elements can be created The 'Body' representation of an element does not account for voids, for which CSG operations are required to produce the resulting shape. The 'Mesh' representation of an element does account for voids, such that no additional operations are required. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="HasOpenings[Size]=1 AND HasFillings[Size]=1 AND RelatedFillings[Size]=1 AND ElementName[Type]='IfcDoor'"/> +</TemplateRules> + + @@ -311,6 +349,15 @@ A general rule for using nesting as opposed to aggregation is based on the conte Ports indicate possible connections to other objects according to specified system types, flow direction, and connection properties. Ports are typically connected between devices via cables, pipes, or ducts. Ports may have placement defined indicating the position and outward orientation of the port relative to the product or product type. Ports may also have material profile sets defined indicating the flow area and connection enclosure. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="PortName[Value]='P1'"/> + <TemplateRule Parameters="Flow[Value]='SINK' OR Flow[Value]='SOURCE'"/> + <TemplateRule Parameters="SystemType[Value]='ELECTRICAL' OR SystemType[Value]='WATERSUPPLY' OR SystemType[Value]='WASTEWATER'"/> +</TemplateRules> + + @@ -367,7 +414,6 @@ Ports may have placement defined indicating the position and outward orientation - diff --git a/Templates/Object Connectivity/DocTemplateDefinition.xml b/Templates/Object Connectivity/DocTemplateDefinition.xml index e5725672c..5ad23641e 100644 --- a/Templates/Object Connectivity/DocTemplateDefinition.xml +++ b/Templates/Object Connectivity/DocTemplateDefinition.xml @@ -21,57 +21,37 @@ Elements may be connected to other elements, where the _RelatingElement_ is of equal or higher priority, is generally constructed first, and/or anchors the _RelatedElement_. - - - - Elements based on an 'Axis' representation such as walls, beams, and columns use a path connectivity relationship to indicate parameters for the connection, indicating which side takes precedence for material layers or profiles. - + - - - - - - - - - - - - - - + - - - - - - - - - + + + + + + @@ -82,12 +62,12 @@ - + - + @@ -96,41 +76,35 @@ - + Ports on distribution elements, such as ducts and airoutlets, or pipes and sanitary elements are connected with each other using the _Port Connectivity_. The port connection determines the direction of flow between the connected ports belonging to the distribution elements. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="ConnectedToPort[Size]=1 AND ConnectedFromPort[Size]=0"/> +</TemplateRules> + + - + - + - - - - - - + - - - - - - - - - + @@ -434,7 +408,7 @@ - + @@ -541,7 +515,15 @@ - + + + + + + + + + @@ -588,6 +570,13 @@ Any subtype of _IfcElement_ may participate in two different containment relatio * The subtypes of _IfcElement_ are placed within the project spatial hierarchy using the objectified relationship _IfcRelContainedInSpatialStructure_, refering to it by its inverse attribute _SELF\IfcElement.ContainedInStructure_. Subtypes of _IfcSpatialElement_ are valid spatial containers. * The subtypes of _IfcElement_ may be aggregated into an element assembly using the objectified relationship _IfcRelAggregates_, refering to it by its inverse attribute _SELF\IfcObjectDefinition.Decomposes_. Any subtype of _IfcElement_ can be an element assembly, with _IfcElementAssembly_ as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e. _SELF\IfcElement.ContainedInStructure_ should be _NIL_. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="RelatingStructure[Type]='IfcBuildingStorey' AND SpatialElementName[Value]='Ground Floor'"/> +</TemplateRules> + + @@ -595,7 +584,15 @@ Any subtype of _IfcElement_ may participate in two different containment relatio - + + + + + + + + + diff --git a/Templates/Object Definition/DocTemplateDefinition.xml b/Templates/Object Definition/DocTemplateDefinition.xml index 93f7ed65c..135c3cbcb 100644 --- a/Templates/Object Definition/DocTemplateDefinition.xml +++ b/Templates/Object Definition/DocTemplateDefinition.xml @@ -1,5 +1,5 @@  - + Object occurrences can be defined by a particular object type, using the _Object Typing_ concept. A pair of entities are defined for most semantic objects - an object occurrence entity and a corresponding object type entity. @@ -25,16 +25,28 @@ Many object occurrence and object type entities have an attribute named _Predefi > EXAMPLE&nbsp; For scenarios of object types having part compositions, such parts may be reflected at object occurrences having separate state. For example, a _wall type_ may define a particular arrangement of studs, a _wall occurrence_ may reflect the same arrangement of studs, and studs within the wall occurrence may participate in specific relationships that do not exist at the type such as being connected to an electrical junction box. > NOTE&nbsp; If the object type has aggregated elements, such objects are reflected at the object occurrence using the _IfcRelDefinesByObject_ relationship. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="RelatingType[Type]='IfcBeamType' AND TypeName[Value]='IPE 120'"/> +</TemplateRules> + + - + - + - + + + + + + @@ -46,10 +58,10 @@ Many object occurrence and object type entities have an attribute named _Predefi - + The concept template _Property Sets_ describes how sets of properties (usually defined by a name, value, unit triple) are associated to objects or object types. - + The concept template _Property Sets for Objects_ describes how an object occurrence can be related to a single or multiple property sets. A property set contains a single or multiple properties. The data types of an individual property are single value, enumerated value, bounded value, table value, reference value, list value, and combination of property occurrences. Property sets can also be related to an object type, see concept _Property Sets for Types_. They then define the common properties for all occurrences of the same type. If the same property (by name) is provided by the same property set (by name), then the properties directly assigned to the object occurrence override the properties assigned to the object type. @@ -68,7 +80,7 @@ Property sets can also be related to an object type, see concept _Property Sets - + @@ -91,7 +103,7 @@ Property sets can also be related to an object type, see concept _Property Sets - + @@ -103,17 +115,17 @@ Property sets can also be related to an object type, see concept _Property Sets - + - + - + @@ -124,7 +136,7 @@ Property sets can also be related to an object type, see concept _Property Sets - + @@ -160,7 +172,7 @@ Property sets can also be related to an object type, see concept _Property Sets - + @@ -183,7 +195,7 @@ Property sets can also be related to an object type, see concept _Property Sets - + @@ -219,6 +231,45 @@ Property sets can also be related to an object type, see concept _Property Sets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -231,7 +282,21 @@ Property sets can also be related to an object type, see concept _Property Sets - + + The concept template _Property Sets with Override_ extends the concept template _Property Sets for Objects_ by allowing a property to be either provided at the individual object, or at the object type. If the same property (by name) is provided by the same property set (by name), then the property directly assigned to the object occurrence overrides the property assigned to the object type. + + + <TemplateRules operator="or"> + <TemplateRule Parameters="PsetName[Value]='Pset_BeamCommon' AND PropertyName[Value]='FireRating' AND Value[Value]='F30'"/> + <TemplateRules operator="and"> + <TemplateRule Parameters="TypePsetName[Value]='Pset_BeamCommon' AND TypePropertyName[Value]='FireRating' AND TypeValue[Value]='F30'"/> + <TemplateRules operator="nor"> + <TemplateRule Parameters="PsetName[Value]='Pset_BeamCommon' AND PropertyName[Value]='FireRating' AND Value[Exists]=TRUE"/> + </TemplateRules> + </TemplateRules> +</TemplateRules> + + @@ -275,31 +340,36 @@ Property sets can also be related to an object type, see concept _Property Sets - + - + - + - + - + + + + + + @@ -318,7 +388,7 @@ Property sets can also be related to an object type, see concept _Property Sets - + For performance history, properties are in the form of time series, for tracking data at points in time. @@ -373,7 +443,7 @@ Property sets can also be related to an object type, see concept _Property Sets - + The concept template _Property Sets for Objects_ describes how an object type can be related to a single or multiple property sets. A property set contains a single or multiple properties. The data types of an individual property are single value, enumerated value, bounded value, table value, reference value, list value, and combination of property occurrences. The property values assigned to an object type apply equally to all occurrences of this object type, see concept _Object Typing_, unless it is overriden by a property with same name within a property set with the same name at an individual object occurrence. @@ -420,10 +490,17 @@ The property values assigned to an object type apply equally to all occurrences - + Any specialization of object can be related to multiple quantity set occurrences. A quantity set contains multiple quantity occurrences. The data type of quantity occurrence values are count, length, area, volume, weight, time, or a combination of quantities. Each quantity is defined by its name, value, and optionally a description and a formula. The quantity set is expressed by instances of _IfcElementQuantity_, where the _Name_ attribute determines the common designator of the quantity set. This specification contains a number of predefined quantity sets, a template definition is provided for each of them. The name of the template has to be used as the value of the _Name_ attribute. The _MethodOfMeasurement_ attribute specifies the method, by which the values of the individual quantities are calculated. For the quantity set templates included in this specification, the value of _MethodOfMeasurement_ shall be "BaseQuantities". + + + <TemplateRules operator="and"> + <TemplateRule Parameters="QsetName[Value]='Qto_BeamBaseQuantities' AND QuantityName[Value]='Length' AND LengthValue[Value]=2000"/> +</TemplateRules> + + @@ -452,7 +529,7 @@ The quantity set is expressed by instances of _IfcElementQuantity_, where the _N - + @@ -480,7 +557,7 @@ The quantity set is expressed by instances of _IfcElementQuantity_, where the _N - + @@ -508,7 +585,7 @@ The quantity set is expressed by instances of _IfcElementQuantity_, where the _N - + @@ -536,7 +613,7 @@ The quantity set is expressed by instances of _IfcElementQuantity_, where the _N - + @@ -564,7 +641,7 @@ The quantity set is expressed by instances of _IfcElementQuantity_, where the _N - + @@ -592,7 +669,7 @@ The quantity set is expressed by instances of _IfcElementQuantity_, where the _N - + diff --git a/Templates/Partial Templates/DocTemplateDefinition.xml b/Templates/Partial Templates/DocTemplateDefinition.xml index 149f8e792..5f285840f 100644 --- a/Templates/Partial Templates/DocTemplateDefinition.xml +++ b/Templates/Partial Templates/DocTemplateDefinition.xml @@ -1,5 +1,5 @@  - + @@ -821,6 +821,79 @@ Scaling is supported to correlate the size of a texture with its physical dimens + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3568,7 +3641,7 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + @@ -3658,7 +3731,7 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + @@ -3706,7 +3779,7 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + @@ -3817,7 +3890,7 @@ Scaling is supported to correlate the size of a texture with its physical dimens Presentation layers may be used to organize geometry into groups that may be shown or hidden. Such designation is only for viewing and editing purposes and does not imply any semantic meaning. - + @@ -3832,7 +3905,7 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + @@ -3844,14 +3917,14 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + Material properties may capture standard or user-defined parameters. - + @@ -3861,9 +3934,38 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3881,7 +3983,7 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + Profiles are used to describe cross-sections of swept solid geometry. @@ -4078,24 +4180,14 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + Profile properties may capture standard or user-defined parameters. - - - - - - - - - - - + @@ -4105,9 +4197,38 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4116,7 +4237,7 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + @@ -4144,7 +4265,7 @@ Scaling is supported to correlate the size of a texture with its physical dimens - + Properties may contain user-defined data, where data types are open-ended. @@ -4162,41 +4283,7 @@ Scaling is supported to correlate the size of a texture with its physical dimens - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/Templates/Product Shape/DocTemplateDefinition.xml b/Templates/Product Shape/DocTemplateDefinition.xml index e3c8fa7b9..3f8524043 100644 --- a/Templates/Product Shape/DocTemplateDefinition.xml +++ b/Templates/Product Shape/DocTemplateDefinition.xml @@ -63,12 +63,12 @@ The representation identifier of the annotation representation is: - + - + @@ -122,12 +122,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -138,12 +138,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -330,12 +330,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -346,12 +346,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -405,12 +405,12 @@ The representation identifier of the axis representation is: - + - + @@ -461,12 +461,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -477,12 +477,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -532,12 +532,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -548,12 +548,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -603,12 +603,12 @@ The representation identifier of the body representation is: - + - + @@ -663,12 +663,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -732,12 +732,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -759,7 +759,7 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + @@ -781,12 +781,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -821,8 +821,8 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - - The _Body AdvancedSwept DiskSolid PolyCurve Geometry_ is the representation of the 3D shape of a product by swept disk solid models, where the directrix is created by an indexed poly curve. + + The _Body AdvancedSwept Disk Solid PolyCurve Geometry_ is the representation of the 3D shape of a product by swept disk solid models, where the directrix is created by an indexed poly curve. The following attribute values for the _IfcShapeRepresentation_ holding this geometric representation shall be used: @@ -830,6 +830,9 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo * _IfcShapeRepresentation_._RepresentationType_ = 'AdvancedSweptSolid' * _IfcShapeRepresentation_._Items_ = _IfcSweptDiskSolid_, _IfcSweptDiskSolidPolygonal_ * _IfcShapeRepresentation_._Items[1..n].Directrix_ = _IfcIndexedPolyCurve_ + + + @@ -851,12 +854,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -886,7 +889,7 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + @@ -908,12 +911,69 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -981,12 +1041,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1043,12 +1103,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1149,12 +1209,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1184,6 +1244,66 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo + + The _Body SurfaceModel Geometry_ is the representation of the 3D shape of a product by geometric items representing a solid. It comprises the existing concept templates "Body Tessellation Geometry", "Body SweptSolid Geometry", and "Mapped Solid Geometry". It is used if no particular geomertric item is requested, but any valid geometric item can be used to provide the "Body Geometry". + +The following attribute values for the _IfcShapeRepresentation_ holding this geometric representation shall be used: + +* _IfcShapeRepresentation_._RepresentationIdentifier_ = 'Body' +* _IfcShapeRepresentation_._RepresentationType_ = 'Tessellation', 'SweptSolid', 'MappedRepresentation' +* _IfcShapeRepresentation_._Items_ = _IfcTessellateditem_, _IfcExtrudedAreaSolid_, _IfcRevolvedAreaSolid_, _'IfcMappedItem'_ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The _Body SurfaceModel Geometry_ is the representation of the 3D shape of a product by surface models. @@ -1213,12 +1333,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1273,12 +1393,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1507,6 +1627,9 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo * _IfcShapeRepresentation_._Items[1..n].SweptArea_ = _IfcArbitraryClosedProfileDef_, _IfcArbitraryProfileDefWithVoids_ * _IfcShapeRepresentation_._Items[1..n].SweptArea.OuterCurve_ = _IfcIndexedPolyCurve_ * _IfcShapeRepresentation_._Items[1..n].SweptArea.InnerCurves_ = _IfcIndexedPolyCurve_ + + + @@ -1563,6 +1686,9 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo * _IfcShapeRepresentation_._RepresentationIdentifier_ = 'Body' * _IfcShapeRepresentation_._RepresentationType_ = 'Tessellation' * _IfcShapeRepresentation_._Items_ = _IfcTessellatedFaceSet_ + + + @@ -1584,12 +1710,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1602,7 +1728,7 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + @@ -1636,6 +1762,9 @@ The representation identifier and type and the only allowed single representatio * _IfcShapeRepresentation_._Items_ = _IfcBoundingBox_ > NOTE&nbsp; The specification does not determine the method by which the bounding box has to be created. If such a method need to be prescribed the definition has to be established by model view definitions or implementer agreements. + + + @@ -1652,12 +1781,12 @@ The representation identifier and type and the only allowed single representatio - + - + @@ -1668,12 +1797,12 @@ The representation identifier and type and the only allowed single representatio - + - + @@ -1754,6 +1883,9 @@ The representation identifier and type and the only allowed single representatio * _IfcShapeRepresentation_._RepresentationIdentifier_ = 'CoG' * _IfcShapeRepresentation_._RepresentationType_ : 'BoundingBox' * _IfcShapeRepresentation_._Items_ = _IfcCartesianPoint_ + + + @@ -1812,12 +1944,12 @@ The representation identifier of the foot print representation is: - + - + @@ -1871,12 +2003,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1892,12 +2024,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1944,12 +2076,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1965,12 +2097,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -1998,6 +2130,9 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo This specialization of the footprint representation uses indexed curves to represent boundaries. + + + @@ -2009,12 +2144,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -2030,12 +2165,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -2285,6 +2420,27 @@ The representation identifier of the mapped geometry representation is any of th + + + + + + + + + + + + + + + + + + + + + @@ -2367,12 +2523,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -2424,12 +2580,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -2453,14 +2609,17 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - - The _Reference SweptSolid Geometry_ is the reference representation of the 3D shape of a product by swept solid models, only allowing for the basic extruded area solids and revolved area solids. Being a reference representation it is normally not displayed and it is not used in a voiding relationship. + + The _Reference Geometry General_ is the reference representation of the 3D shape of a product by using either of the existing concept templates "Reference Tessellation Geometry", "Reference SweptSolid Geometry". It is used if no particular geomertric item is requested, but any valid geometric item can be used to provide the "Reference Geometry". Being a reference representation it is normally not displayed and it is not used in a voiding relationship. The following attribute values for the _IfcShapeRepresentation_ holding this geometric representation shall be used: * _IfcShapeRepresentation_._RepresentationIdentifier_ = 'Reference' -* _IfcShapeRepresentation_._RepresentationType_ = 'SweptSolid' -* _IfcShapeRepresentation_._Items_ = _IfcExtrudedAreaSolid_, _IfcRevolvedAreaSolid_ +* _IfcShapeRepresentation_._RepresentationType_ = 'Tessellation', 'SweptSolid' +* _IfcShapeRepresentation_._Items_ = _IfcTessellatedFaceSet_, _IfcExtrudedAreaSolid_ + + + @@ -2488,23 +2647,79 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The _Reference SweptSolid Geometry_ is the reference representation of the 3D shape of a product by swept solid models, only allowing for the basic extruded area solids and revolved area solids. Being a reference representation it is normally not displayed and it is not used in a voiding relationship. + +The following attribute values for the _IfcShapeRepresentation_ holding this geometric representation shall be used: + +* _IfcShapeRepresentation_._RepresentationIdentifier_ = 'Reference' +* _IfcShapeRepresentation_._RepresentationType_ = 'SweptSolid' +* _IfcShapeRepresentation_._Items_ = _IfcExtrudedAreaSolid_ + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + - + @@ -2528,6 +2743,9 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo * _IfcShapeRepresentation_._Items[1..n].SweptArea_ = _IfcArbitraryClosedProfileDef_, _IfcArbitraryProfileDefWithVoids_ * _IfcShapeRepresentation_._Items[1..n].SweptArea.OuterCurve_ = _IfcIndexedPolyCurve_ * _IfcShapeRepresentation_._Items[1..n].SweptArea.InnerCurves_ = _IfcIndexedPolyCurve_ + + + @@ -2564,11 +2782,9 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - - @@ -2593,6 +2809,9 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo * _IfcShapeRepresentation_._RepresentationIdentifier_ = 'Reference' * _IfcShapeRepresentation_._RepresentationType_ = 'Tessellation' * _IfcShapeRepresentation_._Items_ = _IfcTessellatedFaceSet_ + + + @@ -2616,12 +2835,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -2736,12 +2955,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -2794,12 +3013,12 @@ The following attribute values for the _IfcShapeRepresentation_ holding this geo - + - + @@ -3014,6 +3233,135 @@ The representation identifier and type and the only allowed single representatio + + The surface colour of the geometry. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <templaterules operator="and"> + <templaterule parameters="Name[Value]='RC-Beams'"></templaterule> +</templaterules> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Product occurrences are placed in a right handed Cartesian coordinate system. The _Product Placement_ is used to establish an object coordinate system that maby be placed relative to a parent object coordinate system, and ultimately to the project coordinate system. @@ -3107,6 +3455,13 @@ Placement follows aggregation and containment relationships as follows: * for distribution elements, positioning is relative to the containing spatial structure, however may be constrained by port connections. For example, a electrical junction box may fill an opening within a wall, and the junction box may contain ports for contained outlets or switches; the placement of such connected elements is contrained relative to connected port of the junction box. As another example, an air terminal may fill a ceiling covering which is placed relative to a space; the placement of a connecting duct fitting may be constrained relative to the air terminal. If a containing spatial structure contains a grid, then placement may also be based relative to grid coordinates. In certain use cases, an absolute placement may be used by omiting the _IfcObjectPlacement_. In this case, the shape representation is defined within the world coordinate system. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="HasPlacement[Exists]=TRUE AND RelativeToElement[Type]='IfcBuildingStorey' AND SpatialElementName='Ground Floor'"/> +</TemplateRules> + + @@ -3117,9 +3472,34 @@ If a containing spatial structure contains a grid, then placement may also be ba - + - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Templates/Product Type Shape/DocTemplateDefinition.xml b/Templates/Product Type Shape/DocTemplateDefinition.xml index c2f9549d9..45394d9fc 100644 --- a/Templates/Product Type Shape/DocTemplateDefinition.xml +++ b/Templates/Product Type Shape/DocTemplateDefinition.xml @@ -398,6 +398,108 @@ If an element type is defined parametrically (such as a flow segment type defini + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -591,12 +693,12 @@ If an element type is defined parametrically (such as a flow segment type defini - + - + @@ -607,12 +709,12 @@ If an element type is defined parametrically (such as a flow segment type defini - + - + diff --git a/Templates/Project Context/DocTemplateDefinition.xml b/Templates/Project Context/DocTemplateDefinition.xml index a04fc21e2..fb6ec6195 100644 --- a/Templates/Project Context/DocTemplateDefinition.xml +++ b/Templates/Project Context/DocTemplateDefinition.xml @@ -18,116 +18,17 @@ - - Adding a geospatial coordinate reference, using an recognized coordinate reference system, to the geometric representation context. It allows to position the project coordinate system on earth (normally using eastings, northings, elevation about datum, and orientation). - -> HISTORY&nbsp; New concept template enabled by schema enhancements in IFC4. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Projects may define classification structures, which may be used to classify objects contained within the same project, or other referencing projects (incorporating the current project as _IfcProjectLibrary_). The classification information can either be provided as an external classification reference, only refering to an _IfcClassification_, that holds the classification name, edition and a resource location, or to an _IfcClassification_ containing the _IfcClassificationReference_'s as the classification notations, and thereby allowing to include the classification system structure within the exchange structure. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="ClassificationSource[Value]='DIN' AND ClassificationName[Value]='DIN 276'"/> +</TemplateRules> + + @@ -356,6 +257,13 @@ The classification information can either be provided as an external classificat Declaration of object types, such as element types utilized by the element occurrences within this project, within the context of the project. It provides a directory of all object types independently if and where they are used by object occurrences. > HISTORY&nbsp; New concept template enabled by schema enhancements in IFC4. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="RelatedTypes[Type]='IfcBeamType' AND RelatedTypes[Size]=3"/> +</TemplateRules> + + @@ -450,6 +358,126 @@ The classification information can either be provided as an external classificat + + Adding a geospatial coordinate reference, using an recognized coordinate reference system, to the geometric representation context. It allows to position the project coordinate system on earth (normally using eastings, northings, elevation about datum, and orientation). + +> HISTORY&nbsp; New concept template enabled by schema enhancements in IFC4. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="HasGlobalPosition[Exists]=TRUE"/> + <TemplateRule Parameters="CRSName[Value]=EPSG:5555"/> + <!-- Other checking parameters: Eastings[Value], Northings[Value], OrthogonalHeight[Value], XaxisAbscissa[Value], XAxisOrdinate[Value] --> +</TemplateRules> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Projects may define libraries holding revisions of the project such as model servers or databases. Multiple libraries may be referenced to indicate multiple revisions, multiple branches, and/or multiple servers. @@ -617,7 +645,7 @@ application/step | IFC-SPF - + @@ -690,12 +718,12 @@ application/step | IFC-SPF - + - + @@ -734,7 +762,7 @@ application/step | IFC-SPF - + @@ -791,6 +819,13 @@ application/step | IFC-SPF The main geometric representation context that is created for 3D representations, it can be further refined using geometric representation sub contexts for specific 3D contexts. > NOTE&nbsp; The 3D shape representations with the representation identifier "Body" are linked to the 3D geometric representation subset with context identifier "Body" and context type "Model". + + + <TemplateRules operator="and"> + <TemplateRule Parameters="ContextIdentifier[Value]='Model' AND ContextType[Value]='Body' AND SubContextIdentifier[Value]='Model'"/> +</TemplateRules> + + @@ -808,12 +843,12 @@ application/step | IFC-SPF - + - + @@ -852,7 +887,7 @@ application/step | IFC-SPF - + @@ -911,9 +946,9 @@ application/step | IFC-SPF The project context includes the definition of the default units within the IFC data set. They are declared once for the context of the whole data set. Default units are those units that apply: -* to all geometric representation items within the geometric representation contexts; -* to all attributes with a defined datatype indicating a measure datatype; -* to all properties and quantities with a defined datatype indicating a measure datatype and with no local unit definitions provided. +* to all geometric representation items within the geometric representation contexts; +* to all attributes with a defined datatype indicating a measure datatype; +* to all properties and quantities with a defined datatype indicating a measure datatype and with no local unit definitions provided. Default units are defined as either: @@ -923,6 +958,16 @@ Default units are defined as either: * Monetary unit as a special case of a unit to hold the currency name > EXAMPLE&nbsp; Meter is an SI unit without prefix, milli meter is an SI unit with prefix, inch and foot are conversion based units to be declared with a converstion factor to the SI unit (here meter), heat flux density (W/m2) is a derived unit with the unit elements Power (W) and Area (m2), and Euro is a monetary unit. + + + <TemplateRules operator="and"> + <TemplateRule Parameters="HasUnits[Exists]=TRUE"/> + <TemplateRule Parameters="SIUnitType[Value]='LENGTHUNIT' AND SIUnitName[Value]='METRE'"/> + <TemplateRule Parameters="ConversionUnitType[Value]='PLANEANGLEUNIT' AND ConversionUnitName[Value]='degree'"/> + <TemplateRule Parameters="DerivedUnitType[Value]='MASSDENSITYUNIT'"/> +</TemplateRules> + + diff --git a/figures/examples/ifcwallelementedcase-solid.png b/figures/examples/ifcwallelementedcase-solid.png index 10b29b8277904cfae095d8a633be523cdb8b361e..2d3512436825a3a669a59771a97187804e49bf90 100644 GIT binary patch literal 27643 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

Vu^!jV0!*F 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 literal 25293 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 X^+ziM5IRRez(@9jl4OOraq#~EmURTc diff --git a/figures/examples/ifcwallelementedcase-trans.png b/figures/examples/ifcwallelementedcase-trans.png index 5ec95ecbb2b0febcdfb1c6dd3a0cc2f6fc2d23ac..c2b9e1f4b886f98e06ae774f54ed486d5520acfc 100644 GIT binary patch literal 40556 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 TNHp*b7))Q==yH+f?U4Tg^rZr< literal 43185 zcmaHS1yEc;vo6l!4vV{ou($>f?!kjC?h**@?iwJt6M_@mVIhkpNYLP9gL`m)oBa1y zz4z+Yovl+_b?VHXnV#N)6N+gMdJX zpd=@)(nd(!h-b@K4yFpw6(t1%u`k%|d{*Ul85E)0P=jD_vd zjg5`-&i~H*@`;JfGqkwyJBAacjMOA8>Nnoe%>c{5LGa#+g(84HO3YzXL-~ z=I1YbN3Uw%)VWD2^;C_*N~h=ommy1O&62{T2xzBWq$e!UGE-9dwcVo5P#ik`FTX{pY(!fG)%Dpg?gvNli+-`w)9_^O3z2dBOt`e=a3jE^ z95+il&p5<${a=lwfOw8nWnCfTbp2?6aGs6IqhC|+rb&_1%!-Un2J#0_27Jl?vqg1E zaKIjCVYneSAY1`pSv`g*2MA{-f(DJtyuGo*Kr~sd_+3hRq(Fcgr>(4DtMyhs%Y**k>RknSPKCoBZi9gFAwRaTgBVNUYoI*D!;P z)My&B8-cWcC&0r1UeO0&l;YfA++t_&fuL^A^%(I;kSQEgdFe=`Bwob2gQ9d_o7EFi zI)pffes`nAZl87Sn(V)-72EcTg&8}N&+YFl#0fy#k~2btvM#zUN1SGVN1RCX-+p`ar~0LUQ~?05yHeaAZZuOCbV ztp(iXR@%{2RpB8GMl$5afQ*qih#wM9F$#82Ybl9&0f=!`vU9?U`23|28Hoy;t=F3d z(I$TsAqs2HvArod|7<2!gb2F+bXq^X^7L}dK?;a4XhRPgQ+h={J#^i8^eeFfM@=6M zLskx35)mOBpGFu4!kP;a)}cn}cc7L9;pJ$dV$fzDNrAELxqK*hS~vWzAnDQnMD}I} z+)Z)@(gVtVwW1d>IISc`i?s^@CA}b1qn~0x9Mmi#)5+r^mLg_Mz;y-C${}rKa3P?~ zaSTjdPBkIO?MmPDE;A!Tff25u9?F*zg4`?72Mew4lXsT?k${a7a9O`MvT7TKy&{dr zXi@r#Ba}yK$N8|8ifWmHA}9hB*Q3mifJ}o#5E>EvXP;E@hOOQSb?yxW9Y*DKpa7Qy zvL)4#4RwaH?}os-N7u6+u{C>L_`k)Mvm~g%)jCL7F^+Fz}D*kv+h?%`tUqg<3)J{P0lC&lLDbZ0}I3Fhc-Z6N-%3DZ6PZ(c);pFa#3~ zp-*xstCa}YKo-eGCu*3G#G~U6AkBU zxG`k#tav%y)P-lv(QP{4NT|w2pJ1ITG84g+?Z#1cOolfLqLouOSGKMp*ZI>J;c0-f zq%c7P!>vU%5VW&Ez3V;p@LBNzdsR0!!hif}Y`ewL+<_!y&G8vE&ceKOF=UTG5UZHy z5&=ntIl<9ijSagU=4%e-j#7{^oI$|!;{t#`c@NFs7es6OqM~@_UbdG&rZDLC1s~Lq zO%@Q|p|vxc#&JFfV#~^k$8GtWUiY~6y1)JF`i7QsL85=?%x-_V%0@@U3y@WC%0NyL zTs1@Rfrnq)e>N0TVq#Wcs=d)v+yA=jvJu`LRke?>gU_&gGyk1ed>scPqQR^UY!~nw zUpMob2lvJDYiUbl+TZu4*X!dyB47R!qD_SRQw?6v(PpoOLZg?@`C95$$((MjZc#4B z{5Kiz;Q}4@uXOz+IB;W~PACdZMp&>Pd|zAiAh@!H9*pdi&$&59$psqYHkQjiAP&%I z(T#u6@@PGr(G$f+K459kH7hY0nZ`_vAO^6EgwuTsX%sWsb`G~9Emip6^V;4J8tazI4UL_gmd6C_DoZPb2nFQkO z6m*&S{e{y{F`(W%5n@d1fUV>pbP80D9#k+J7(u#RXZ4-?qL=%u*XAB}Cyn6A^lpSS z1n)@$iGly2_l-vL@pOYG)d44(%bLCA@7OhRSIdOr)jC-<;md*rqJR*43b&>2vy+6q z=pkI+AOE2;+^%{bGJ>PSN;e8f$i9)7d^Jk`vEz>ygYQQp9HRU^#88L9`pX9&>_F=E z>Yk*N{*fz+8)1F7`w2mZxv>zf6U7*|xOolY-*B0!RVqtFPQ$p~v0ub*rRT)MKmS$A+z@Rd_I*pe&ZSM)#x&`oh zT9W`1K^dR^&~;-bk)xSFw3q$e1M19(xWen$Y>|qPbDoj#s2rpuyCEbf#B6GwcTx`OCL}qM-_s* z>3?dBUgZ!XwPB1wI3_oh5Cr*H7Mje1Httn)a0iUvkbSc_OQNggS42-sig{&WFyxfo zImHYQIJ$8#V9$?`laeZ5;ZHooQ_z{O4S9kxz!w9W)p?ssK~wQ(@_cNy0%|xp6-6@A z=>|H*@jF|zHp7!a1c5go22jDn;MxfKz(4c8T6Do6KbEZdB{{Uc252uL&Kc1HVH1)KIeCzC<`^Vuepz977 z5zS6q;X2xYegaTKf5@<&U7d%YL zKj&;o{*bETFhd)f)@6L(bDHRS4-Hn+u7yD|P{`B0HZCLj)_R%}!|ZXpxtAh??&nSZ z#cb#F3Ho)t5tRCUiAS94GM}Y{kap2ybl8qFl%7ISGr+A86YPS>+A}u}Tu~CejNQ5g35&k0XBZ|yeq%BZ1 zg^yQSug#Gnmdw%{dEyn#{CSM+MamnrTtHMEPCz7O91u-%xQ`Rx@M74yniyD&I}iF8 zg%)%8^1|#sBe<2{WcTljGe3Yt-(3Gd0U%0khCs&JI~T%|#3~PT4Km}E=cI}&y*C$Ye8kX+fT z`#gO$&(-zX?dN|q_XQB#9dOCqEx`kh@Zh<6OSe8yhmT(n&1cK$CWpE+`LW%5NMhCjdg((VQ7N(7GC$wp2MY%~Rn^|FTrQbP6xFAvWdRrqImPra|qjdsL>z`TX(ShyCHpBFyF{1os=$S)3eeoxNA6&T64z4VS)kw^d zY*lgO25K-EFgc5SPJ`=0BCv+NimTA#TCmt^jdS8aX@er+(89|{Ml*xV#55ZIKi1RI zo(<_R47Ulo0G^iXf%Y)i;9C$j(Ifba8`M__4_Q;j2d=0uBa)k1u>R?fJUupRO`0-m zf{(rPo0wzcgcce4glfJ;TxqR4F$D7W{2z60!ip+c_)X9;@V+j6H3l&Dj%)D3W)9Dz zADvsY!yKt`1I_qZ-<{ZyuisD8b5!#%o96sZKwLgE2mWLw(24KJrarIR+1QM>Vl0MZ zD(2(rT3>SYg4sZA+Y=$G!a#)tBA6*-K2wKHuF^_J8MO}&jqP(4?rVWfgYQ#OBIa?J z{RLYx7w@fRsOHyNo3^IYrwFvEgg#_`!$FZ|e>tfQdyS8es*TML#8qLm5#8&S46|k)8~#n- zc$mQn98v%|&hi{#yXO8l7O7dTS`t}h$8^H=1fFi+qx(ud&d^q3=2VgfGjH1-O%psO zKfrWBg7_$7{;=N{W)t>nm&n@a9!B)M9p4F~Z6$n+=G;rUo*L`pfB4Ol0D|z;2H&AS zqs2M=D#+mz1bbRdgm(aOovIU?Y*pBRXaSQ4N#-PmI05ogXC}&(A1v|)`7c$QIAbhp zD_|470&OiSD^HXC2cwHWWVPm=tihPriKVL((X~spu%UG^uddu?^bo!3q!K8)wJL+j zu7>y>?q5$ft_lpkU@Z*Ss@$j!zF3}88s5&qs@<}zruYq#XHHls&Cu=)Gx{E)AoWvU zi-Wj}25pB*#^+QVy{anQU4WRX=HmNsj8_0&&X`o0#zKpP<*w*a3=df>ia`41Hy`H@ zmcUE4a74A`SmYdS$%F^G=hT@F%)UalABr9y{)3My3cx<}Cd~n|Cpw*)+Rv5kYAd$y zLPVrE163U@;5xcsMDRf%Oqv<%4QVe_js zlQN$ihV1aFUgHFr7NRRpvSR~x%|DsF$XVS~r;fd}H~;w(bLq5zu*50M|2Q)F*LGrV zyDd!XuN2}B!SMLz0h|Tm|FDWiQw=3{d?TJ;QSo~to`D^-@nwFGg5Qx z6*iW77j7u7UZ?H!Ubm1ZPF;rEml_2(<%*b(e{r;f2%6P*B?7b|FMR&dH_YKwqbC4| zahNV*KXiAFiIHX#RC8j3txOyK_$W^}tnP+v$VY-|!(1 z2o7Ms0EtEnh-?-pBWsXg4KN=27N3D*qh7AXPqWv~T}o{mQ}dFQ-rs9>=p`!Vr=Jdx zP}jZxaB^#_7~@HY0(LIniTsAtn{kuHX42RAJD0cD?r454Rxbm&xCh<|FH`h(4yHrMO@0MRfY&6xe$pEQ6S?5^l5)%r*mA?@N)1OLan^$qBp z>tzg zN-r7+xY-8FGs#Hnw|`b+(f()~_z^&~Er()qlJ#yUVYB^6dXjmypRQXF#FW4iqghSj zAA7Ml+L@Gi9kem1ax1Qklxjc$S?s;z(h;DwmHE2FRU2IAy{|@7HQ(F2j)Va**@Qhf zP?{RPF3yty@+$&o6!X0|gkRnOe^8co$Ma;aZedI50!=%n`yF2AV)!D!*kIeTG)f*) zXp$*t;&f`{?kRU{2NFZ)j3|tO%g*Q(*=v!7cMPD@wiX zy5*5HVrS!fE3%0!os3--8-XT=d-DOq%;3nI{cg%_9#7#Ty<^fm9Q*kLAG$iBE<)4s zcbZckACzeSV$sI5;qMQ}?4D2SzOFPLN-=;I2cC19eVy+29y+O(300RbE&oQ2v5|BM zS!R!je*-v|zDs=&brO~zH3DrmsKkSZ80yyaGYTS3j78C$7S~dOLI0q+lqZF>Sn1o| zLis`6D^Zj6tTw}gF@dSngAhy|^1UJz^e45&0mJK_&c0eA-J?0b%<#98sTp1QFD%3v zwy}0S1m0X_kwKSmGtB=bur*tq9-U%- zgp}PlKO@-O@Jh-jiHFnye74dzNyTFYW%!=Em4;RlATEWLSs6}}#Y4Z2WV?r(d~)ye zi|4NgVkDBEX8wqZ+mCEadSQj_xTeBhYr=VTZ2>4mDp!)kG0e|(h(-sy*qy-3^5Pf0sU(4_-$ zRm~CRU4a=)Sh#D_UTjHxMz`88!p5ugc%G|zEnNG8x@PO}FYcvMg1aAhZnA z{JClgtBz>-#P-L~Yl6c=^k^j>C?rooZmj3N{N+9lw-Ebv>z3E>9!qh$R9nsOV*Pv@ z+1FZb=g_x4oB89{4=PBhz@LgdP;HFT#Xs)Jyg3N;Q-wEm8p=R9x<8tA&eAE#@0_tv zLVNOs%yY!M>=V`PsQFkH)TrKKrgs=7I>eP&T<-!~(!3mwmH09e46pO<7xY8xcz$ou z>2khq&&;w)f_0k68A=h9rOd8+av+`ylcqoX50dp)2x7RxzHhc7D z6Q;^_l=#T#R)`oP@QDQ*&hini!|4sdkh z_GfoeTHOX?-ttv-WDxQ}r_@sjl>E$WMK^C--kEh=@xLZQ>F380KH4s_B}nDLVA`4K zkuYmt6!!MDKZ;_)R|4MrSYYteo}EeeQ`{^n!E3$~d^bwz2Q4}+@=Z=n&P^1ID@Rh5 zCC`RKkrY1LLTeGlRw{rosm0@M<%!AYOX{Nl-2AZk(Xdc$L;4!S9dCHok9jU zJ>)%jK1E8S8ZOPJQJ|={33+XK8~IgYu0R>o86h{=+aVBBSK^{5x|0AD#MonCWwH_d2C>rwENqbvDa=B z(vV0xToCh3Hh@X|gFd$`fV)PA0NFReFx(>v78Pyei>tI1v(@Y*_KdIhBDP>Gpa0(9 z#dQ5AB}_~-mQB_CgpHQn8w#v}n;S?qQ`yF}9_gTz_C{{(g)iLUU`YXO<1xovkTppC z2zO=(hI`7h!gG}&&vlCxJ~KYi$4WK0D}3wuMQnzmGXu)_dz*wi(+6wz(Pr_$Wr z=QBTB;teF*IzRlT$M}6D13Y$vAcPIUY3Yd6KXyb#m7?tq{nv*sFJ)%NH7~WZ#BEw- zt${g2n!;|jlhEv?ghbQB2b(lG+8kthP#wB&is8@C#G!9DyMC6Eeu8~R^z^J(#P=*U z8_VaBDc#!og7V@D+pABK#nM8ICXQVFcsugm&EsCpc*#cJArG!Mn!?~jtK8N$v4g~zp&jkVHy z6G{VHQXX%9H9I%RmsKeTCwbm2_KwIWUi*E2>%QX<57a7&Y(m$I8F&m%Twna`-J(pO zzC7`u`g&8v|3C@JkO6Y@kQH9$ZCiJ3sf+mv+gli1qyVf}P;q>ZiuxwJg42MTgN`B< zWTCx-jVoGP(rRRMc}8j^}BQ4_p2cqD4pqUs-6{8ft0R_WF{YU zl&*?bL4-+vIvZ|#+E!0fk`hknTCJ;~1q&~nspZE8j42g1jJ>1?mm1B@!}$HuU%t@ISK$j;DS9rC_& z!iL^X3D-H!$*u=OqhjfM_;ReH^n&ViSn{kq|S2w$VL4DXSWLiL=Iqb5_UtzMALv;1|}H?RrQgkS)4*&)J*JXn^-sF=FWxskW!#h$#+ z_2D9doOAXq-UP`?uLp9A!#jb@(?Fks#@SXC!VwHYC}(|7MAvdKu9}^}+fh=9)1 zS+qu(EYPnE?SeWfM9nIS@QBbefMp(<1bskF;dw<%R6I{H;_LJ@54nA-}?yMWU-g9k0>p7&c{s};TvK4`^BU=V=7SL#T zH|bRIu#gyEu2MG+nH!yH=6t0bok3O`UZ%i<6FgaN_j;~%-dUiJGn6x;OxVkNUxmLI zQ}Hj`5rultw#>m1CR`eYo?l0e%zv0F!BNriP&rL>(jR)w#>5-Usidhx6f)9mk$)oq z!=yl8X44b0Rdtejj7Zy+#;C?59Lek`9J-I`eXsuLrZiZFghyA|sjVa6RU2Mx1dI5= zmLVlaGuE8t#Igfw}2C$M~_lk%P!sM;)%&7UWJs1SU;vD*3+qS z!sA1ANuE@`sM1nWjydgZSiwA}wksNajr9pU0!)(z)*Jg`aKrO}y7e1ez0rJjFq~y! zTiI+#SkB=TH6AG5Q(oYspIX7N+$a`&->;$J#9LS7-kfM*eQt%DQUZNFD%2@I^RVgU zT_hJVo@*WOJf_u(E|XrEQkR@PJ29|MJwD|Q$;hoWE?W^3HON=KnP9yd{ix|j<~O`) zaP{({?N#W|Wm(;t56OaS0J`p+tnRtiWsZ-|!LCxGJTQ;vw4wQGZP(avI^mWZ+|>@rnh{RV${?6SXWJrD+PzrEmLP=wix`~toT$JfKQgFDyIj*(Sjx}n??uEsn5Eqppu5m_xjAm`Nu=iR> z2{1GnWHrtS8S*|l478)|LtQoAi>fIhd1Lt7BaMxev$E~vg_`QZdsJYqbAja3^y8dt zQ*V?L1eyA|Jt5-Dk{y8knve2;j~s|X!G+h!+r#+N#o9GZl=-Z)c%aFy|6Z8OWcO2n zlstXHaCJ>JtH4XJr>ksc9EpqpAEynXxR2E+5llyKK57%JTL( z!=su4M@zeG!LKjVFxAdj4@Q!U=W0svN1cZP305nS%yqDV?abmFpt zdJcE95$;wU!cJl)5O_dE%t^teanp+oC2^~enp5F{>}mw?2^#BTV!Kg= zhLNun*Xb%Wz6;tECsN}c@UG2P^0Os(=$aG#dCxOCwS*d_!*c!;aWG%NGQ z>poZv;QD>6(6 z%xB6I(I5KYql9WZV<8N9=l4=)?eI%MD9^i5MuUiQilBrlldF?y5GY1~WcY!6$Gyhcskqml zd2Wg=Z_vZ!CJgEbEi{jH0ceo9+n{hAcK#36&jWL*8@*-HFX8jLHn7}vg2Qiw=M|e z-4i;1)H1ujd14+;pVxeHv_I7QR@OQFvb&y>KnAv8VcJ$^lB_J56}fmSKT+$?cCcbc z>p$Z6-}s0H=j?BRW=oMEIS1+mJg8##g2cEtPZ!s$%t6Bs#{;J9{LB<*?H|OV`v)4a z2qicO*!^>E)|BIb{QkTwn>?iGNsSAU>P(tkHQcX4UwptHC&H5qr}W0vdXahdt;;lm zjKlsNDezkbZ1a0(B<;#)*m4`Ld#!cxXCC57QmvN*KcN2eKyi$$R%c-36?MEP#p2I}$Do!s;k~j(ffvsc!>5idX zCSvn#b@FaStRAutp%I(_j*@Kq0#h}OtW0-^*j9cZgo=3aF{L~uegfMGznxQ9F~F8A z&=OBED(5$s6*bvK*yzNi@xNf-3;i8Co<$RKghEzg!1n9*IshT~=98K1>N_wW+Nx%_ z!)I;8NH{nDG4=$`%`k{kG7e8{Sad|qYw`UMCM*0Y?pJ5ASm#ni8JJWY+gwk;umKxwPDV#9Ur4ID$)>x@7!7FVAvweev z-uEqELTOi>E-={DJFgNv7F*NPFjGRT%k|4K)}s&hgmDboc}>-3PPY?j&EJuV;~tUGIO{havH{fxKAF}!RTe-xYNo@ zw4I+#cixWMn$JbftL?(_X-aqD?bO`LmdW94xAG?)la0#FVtvQd`s)Gw5wAS9L7NZE zM5vKMzWw}Z@`~3GYlP0GDRl8PSAAC=#hRbolmg4#-iU90a)?~Kinpv4TsPn-kEr{RB=UXZ zoBct4;7b|vHC;fHVhLreJeRt0fX$an6lJQ_r7l+aLRpDJ>7#Fqw4MIDL8^3R1|VU@ zn9t5qKPcqWVN$}44Qo_BX3bcEPs97tT$@*E2x?S%f2qwzEDtf(k(l=?8|W&viu@Mc}I~3uHLMkXwwkuHl16yrG=$mQR zW6xq0r0hBA*UCt*=o>oxTGthmd>7AI@P^&*le|F}{1iI1Ddd@!386gGk9JTJeq5V$ zGazYaoXb7+u$ViZm4N{&0D|jSeP>KwqFG}Vb<1*VFO)deCZ?RP9aC$LKv>=oN!?zht$Y)MbU#aD3 zflp57B4cOh(5N)pT}}N)bGB2))vKmcDX74!_#(XFeseJw8=r6<<`(}TJ<7B)M^P?b z4>}b5OMp$DyeI`MY$r|bQ|ik@MdQV+^by(5^fkKEg!0(%12@!ous@J7GeGkFJ+Q-f zQsK_wtIps#w`~1mc9?d34|PrTL|^7xHD$iMQMlGv@=ntm5_l|++@-I}{Tdsqp~;o| zTc8GCz&9~LPZkf6?cLBaZUg10B$TUtX`-!~4gW_P^Jc7khTJOL&xU#jI-bScFGAV! zVDke(-j{*&8%s}%VmImE{IT;D#Y#SbjD+rL3a6(vOaZh9JFV|Tu0P9Ce^uU&yby<2 zUh8ge2Y%c4h-RJ^v4v+eozNiCVZIi9flJ7j+2oI%ZlUrf;r(5XZ@u=t;RP;_+)v@+ zqzlNtyX=7J<>`Q%TU+;l71IJ;oUV~lG5!kGsf$VA;f+fHTI`sYTo9fLE?ye2#79(# zVCV&IzDJZ;F}e(^BF#*R9v2JcsY_7*aP~fuitUuo$=v(*{r5%9lgx;(G30RVmqae) zrub|EbYxEI%qg6`j7nM$ee=B0NyNqX8-fnJ+IQnN#{V{;Z)|h0w+?+gxhr zIgPrwGC7mVuSZ_fA|(6ra*aoy>=ep<`b_gq@RYncj6KvqQEyI zkKpQH;#-}6mq2^AWlf)$SUva3>d&Y&f>vGPmPtxZGM&RY|Iq_`{5)2T1mcTsSBNsa zDuDIs;d(}+APK$(mJ~Fz$T~EkxTAKT%}v&Un?Hx7(Z0a+V@Ox2bC=cE##Y|y(;=%h z1%*_h{X2#9h4V02d-fR1FLf(o`h5-2}YC-2f+#De! z>@&EwV(UwtlE-2x?;k`%J}M^9;%maAh`B#|yE0~WNU{1Bw`WSi#V_tkd}*l{8%^;i zScxQPKv0iGN)0hAXy{ zn1{NSM8>x-J)xrutm~f6J8PodyQP!iD#d!-^9}-#o%~Ee;mr!S>;Yx&42#tn(hc+! z;dPee1PbyUi>SJ}+KB4}x%7~I7?gF%fyzYGe5nFM;@|C$mNsEYiphTGmz~5dwwHgO zGQw)SXjD!$K~8&wjDnc)=Wqwh(@GTx%g!a$-MZN}3)UbUsTok*a5e4w`FLB(Egrqv zl^BVEg)Q5t^F67f!bj6xM_;gM&e?Kx*E}G^fK}oaV}VY+KqZu*ewcv)WUwb^$iCMu zHiVpAm9Xdq;?^B2g+YNCQP>H_%|@m#CwswGKF!4mqpSJOrwJ=8h?>MnGhvah(x10W z`y%wJZ9|apn0g2uwPf@em#f_xX5C;Q;Uz&MLaGya+Dnfa4gb4zT9yR@@ujA|%P%qp z(m(5HvHWMVe%yo9UUlJxgJ$GA%Ltm9{CcZ0en@5etnWa_{K@q-r*3C4JSRvFk5_`=N$UT7F;2(}7!7xY7yDDUfkqnuHyk}HnYlVx`; zj-D)j(ax0OyRobv1mNQD^r#-nDc+>A57B}^nU!Yj1wW}Z86qoVzx?)foDyxAB=)wn zJhqAZXB@)=uB`&D&9KNzeKSJ16P0n~l}Eh*OUNWKHM~7CZ89@e=VnpWY^p zf25kHWViahAu8y!gRM?Pnkf|n=(~vTLxsv!p{L!m|F#oQys5;sN1_^yAw)ydVSc4D z?Q%i1^Ua4fC`)`typM_ANg4x%FxdU)524olV>n|+MI+{O@y^<2eZBSQCkLG;BOwLF zFuEHRr9$+51GRq<_u%_LDyl>83?HsxS`*dOFQ(?%-ts%9)w;@iR%0P#>(}Z^bmy@M zJnhFt3Fz^WGCAkKnR!M3$h4;7OZG(fE4CX6ka`1Ta+NEH4 zQ`%qf69^fZR~Vmzl#=>v5munwP5IcqwdqurJ=G##=%dId>nJ){EBL6K_q6)qY*it+kj;I-*cyoO}_ z4ov`|(3*p1?gP~SiGAC;oceA3uXvuKe4gwx_+pUzWyl~z1Z($C>mk1a$skz6%XI}` z6Yp|w?Kr=G27{h5Uf4Xa(wFS+fS_UMZ1ahA`(GmsqlJy{fnWExW1->Xz5o8!g(p4+?Esn5WQ|`e?84UqG znq{M%meqXhj{l;88KU{dPjs3P79dS~b5gFDe@A3I?>Q|*!TLQ`EtFoBQEcHi7TzZe zEH%1SoaQA`z`}lAdNBsP zH`0yt_;mj>3hzuoGC`u1ep2B>_PVSgI0aULjAq??9dUF~xAoySPtMsnPxTdhlsQdj z-NENI_s3H;gCoYpBN!e3>r&Mv6dlyc4?45C;cG3h#dgnIY2tA*ttzMfzRR|o)2_k@ z80vNU4%SM053+!YV1#_|0RI=I90+Dj7?f~?Mfk?1IyCqXXCDiORl#W>t@qn#19r6X znyksfLC!X_XnTiOX^kv&DI!h*V#vjLR|B*6;+a2$=T_0vkkEn&)G4K=P+g!jEYLYq zp;K{OCMO90FDRF`OG|GFto9Y&ShqYXcD92Mh7&6=A){5LU~AD5(%`#`4Y!8Q&AOU{ z31GkMuifsW_Blqp&HKg0?g$5G91ZcSH;Y}XL#&cdsKerxsZL9VtcfM%9zIgwdKP^a{c*%W0 zd548z*KC=yDT)G4d`i_OdjCtKL#&mke2bBuFvlOo@yk8W;5{hn0z8G?BaRm3#a5oy zGa5_aQ?@Isg`kG>^u~gUF@QF6ZfNG@frssmIpBgdi0Ju2=!sF{p;u!go%R_UVIx}d zZY_ZuEnG2%!qZw6BI(-&H>^l>B$S*d!_z}igUbh*d3{^2+&5*mj4*mK$naeU*JADC zx8+qY6wC_V-_su_DSo!%$g1tte4MdnQ2t4M&788`9UT|VxFaRi^hXNm#|9e^GYR)v z%3M6@IerLI!uXCn(iwhgnir6kPw!5Gas3e6Ixy{C61?V_cXszb~!kTGsg7<%v`T zt?XiLxz$;eJZ|)-Pd%Tz&q$Y7LJlrQhp-vH`%=#fwz@U@TQ?}0Cml@wO;j8Lo|ul& zBgzEl7k+r6zlgw7`yS0kZYj+h;7!@Oy1Oj^6b52>ZGE>v&O_DJj-}@)2q1-AH@ZI& zCgsuuZCXBad98^<{~kO(!90!S>WRjR9A;{J=oAh~oSq_$oxrc}QboTxYTSZnsXq!Z zrJa&JU*_JN*-9{DSoKc6)r>8VI~gS4s~pPVnV&R)P9ImB$WpNVA(Vols*4igihZit zNA;#;vjLnjj&TP3JX45yUNcw=^Z@-S4u_6fuD&C!^Gfd%OvkHz_^ya9gFA&DHe z$VA?}s{SXeS@*hr7h2fv#&=U*@rS@`5QaJaV=ft?rtk@4qEE~i*~_)d2aR9leZkbU zx1;MrSSJrt2=>EViwXBYWnRm3|RYx!q3IglEZm$DSl-MCoPi^QdFMDkoWCQ zV$GZnZ1-J#wP1eiMZ5#Fx;G?35calDLV-N_4J#J9>4f+AKN^nElDygm+9@&H;sh@tE-j|v(Z5~71~hS;M>?($P~np`RY%lvU+h>W$W9kI2?&K zFj;5GyN9j9V4~-Zos$fj5ex(H!%)VNKt8qwB(G zdl;PGiJNoUTC@0!xv-@4{c}SCM;?)3v}UT1z`UeO{TPZ@CYKQFV3B z+OXi1o{`VP-t~rM;Z0Wi^N-2R^``^wO*jh-l(T$=;&XIGT^RscsPGg|Vb|r2 zbj8WjH-<*=!TaI(F4L+o2Zj2c9^WX?sqm%MzL8Z!2r$Dw1n{~-h%O`|P8)-s-kG72 z>==zXrB5H?s@w=!V&`cE8*;!9NI#wH&Z$VB!(LeSGmgA-^us7vKJE>!qu)~}4E*>5 zoU|5=KS~o_Vke9(Hkkg0!Z7;NpQj+4IO>W61D^#fX;WC!^G%yMhqd^hQzAaYAJ>v+ zK&MHS$t^2+E;_T1Z^ z9)DV2|L*vW!~G#c@}8>K;}UJ{e2Rr?GWRJ;DWupDfjQkx2g=0xZO*Bn7haO0$7g^f z2cH(oT=rrqAY{URMMf74wG29IdS?#)l7~?(fB&YHkk);~|8;NL%JlF&#z589(IR#& zPrM%PyTgf0{AWPsZExc}`D}4naw6|n?3t{L2d?H^qfDlqn9d+Bd$l>n7iDqwdI@S&8iB zM@cJ-%^*gyh|%Ta8WV{3?K9RQ(CwmOM*qPxqUYGxrk^-$O{O|u5b+U~RUS!usG5x@ z-JhL2VKavwBC7uKiWm+FJV1^bdq^T`!urzKUMmgBo;lc*`YrVbYN8i*iUhI zh3OqHeeMf*j*9LtZTGOzrO1In1Nb@AIlYb>cl4&9bZ2JS!`A}UtcsUOZfgnNut%OO z`AG92VcciEOES#JHzb{q@xOZk0(o$9OMbsQ@Tl9knn(^IS7juTv$xEI3fSWK zg4MR%*A1^}UJs>3diixc-%%#Iwo^U>Tjb<9phWlpm_b_>p!=5kBaLd`ZCh3^{aPA;X z1#f3@ujgNvJU(G=Cw{&g*O-$Uo#oEu<8%6YZ3u*RLdnG(7eSdf8m(hC*j;2?1MiPEQ7jAvRl^Y()LO;n6MOAw$Wb@DaElWem_&{!a-$Fd zLX5Km?zZa%FhYD)+1vxD?e!Fft_AtTybhJn{UEoAjJK1MX*b^Ws|VbG-JU}EQG>mx z%9nX2n#fQQm%~Gga$|Czx{6B)QJN7cUzhby7$E4h19hpMvuV0T2KOPjI{^~hZEz<+gS)%CyA1(?YtZ2C z?(S~E-5rAd^L}TYo4K5NR(Drd)vjH;32}%HnRl=3s8bR^Xu#mx6eVrJ=$zLpa|f5D-k*XWDr1J& zAOoGAeQ?7b=ZKg{BAhR|<}dg+MZD+VotOc0YyaI;vnBmeR!0A11j$fQ(s*JIMQCeo zVRPd53Pb)LMR!w0S@qr$(iw%8oHl6EpD;BNf!+EUojY}vzfOkOl4mkD|3|g3qS?=e zPEXz>NgdE&7Qdh8_akm#f7}jcerLMS^k;esen}qkU}brI$NQiXy6+r=l_Q|PX82w| z8zI|nx!I#4Ai4PVbrL@|HoaJV?6aQTbm)8JPr<;sutH=*$4SQ*2QtROJy|9L$DuVz z?5)HjLDVKvrewL}JrQx~f*v1utr!X!#JwLU=UM+Obn)=lRh^J;JEte1%#@mM-D zUoi9b2(JAoMGK4bH*ET9(>)%&{Rl&qamc(b|0r=-6(=p>ImJ#6bBQR`c$(qFrpNPKMBzaw6?4oiVwqxPpA%4iSEdfMyAwRS zbRPF%t1GLVwZ~Sx`Blx&4@Loxe{@&JIWIq!1zrreyBt@6Z6Y#GLV`-6fg|Z1u4wI< z3?5cTJQ_cyT(5`4e&)!+Xfj~z-3VfI-+OU~ZI<+F1)(M8rC*)v@kq^}U}EVO$GaVi z_c&xq$I|(oP|ku$i$5*l%~E9`c*fi?7?0{)=4`X~4{1jk7HvM-X0}`jy^cSaPEYWI`tN!O_xi_)B2F_Csx!z`iZQyD)cl*(Ye~ zsH-KETvc|}NoU*}YC_1l8J&mqLdDZh8H@&)f~ z1I_~*8Wlm_U1aFvUw;|ka2}*@mVRbl1#XU*JUli=20`jxa@qWs4|ApJq#TT9D(nFe5b@I*T4B9|`#P zQD|p|-6xFx+RUCSi9ItRyA};$;|EU@I-J>4a3WZTNFvKdh38n3?Gy9(^VU5Ml_T{@ zITuj<;Ck=pIgx#q>~6!`fpv3@cid5+OQMHsK3`~sl7suIU!q%XqBkbRz-N=uu$X38DJ4uUi z^E*?>T+iA_K3@D!U=C7iHc9Pzs}G+u`H#wu5DcL=lN;i=2;e2h5<^*FHAD&l-r(^8 z9C$i+EZTK=6a4h7@2CCWV&4=Z81QzG-0$BWPTRFzdrT{5VS`;&Fo+Zf@baS_0@d9$ z3OBNR%hoKKSn$01g)he=H9Zb8vFy&)N$AUw5dcNltl; z4;;EI>%BJ@XbYi)-*h}^9bDty5NLouyBU1$7Kj5yx<4x)=Nenhq_wB{3A&2)HFdrV z%8*Bg43T-(wDnzubRSsx)2QECcyEU>LW4?lPKj#!lis;9E1M0Hb7N8lfpC#`5v)p{ zr5iiztg<*`Oe0jwxov4VHO>Z8L$D$moP|F(BNfF^br)Z7Bzi0Xu7&F_xlY*`zpd1R z$)`_6zrAo#^p~8A>TAJ#&S@dDdg`WAGx~Dkp)JArVt007P!g{|2{+=tAkT>x1AQO% zR~tOH3Kp6~7wn@_;~A=G1Fw)m-Di;U4^ew56WG6gz486H)6-1PLiKNRUDsa*5~vV$ zWNT78pEsQTX+-h0L;^tZ?0U436Sm6A4-Pq)4V;apxwOuFJL7W{GMLSyPS>JIRym52 z?j}wc7WQAv)W%t)_a)lRwssmVYbw%CVa`^5mL@PKI%qE<*;}-d6dkQ$Z6G1|1)U)B z(rPQ`PyjTgd4_j%hCGl5u0tf5pJlF{MiX+{(jkv@ou9f z{mqw1bCcI99`t9P>bFN7vh%&sTjI&nLgG z7@1mx*|7`(*QmDXlynd&*urQfHX4uA56A=@(o&7HliY&*<2qhQ zLy}%zqho^U1gcm=`pumXU%^cIEw6`xpR@DT#bD$h5LHN^ z=DM*SmAeDDd2rXU!P6Wl>WYoIp?XRw?y}?^Brc0@3$yuYuLmE3exAH=D{cD2#*`Vv z1TxMD!~rWqp+o}d5Roy2(i}-<2pH>bg!qUMha7WHJtqJZsYS6(RLxyv7l9HRO-wwH zk)WSS71ZAd=X+(sd+P!MtqE+tL3;ciR;DJ&8?cZx&og`T(t*i>Mt$8o;*c4>SAk;{ zg5^4WcB5D7g!+nCP677$h3Owo9*bdb`1nxfvD;vu>*#`@Gs7m95_>B0#03HXNkQnt z?zfN`;Abq3+{YQ;k2Up{Fw;&hh3x=x2=|`Y3&YGcml1hL+kPV%P#Y2P!^rn3^spMw z5>b2ax>3ot$m2b4D&+fO@Z4s=vhZrM;m5ERqD%_8r>(hGyCHA-QQPi+8`0gMy+svr zgxC|I9Qp#ag4r8<8U5RC6UXpr+hYVciQ2vPON48xocbZ~C=3Q7tW<8NF#eIrN=y?9 z?;WfG5;Mz10eZa7xJ$!ms;);_7`YCueSN*1+|rn%QIdHouCz1rh2y~S#i6Fd83cCz zyuW?Js4Yc^loHiw^=Zx`QH(g?tn@QxnmsBH?}b)@<3V{Rx=P6G##ES1VFN$1b`1U6 zj952?Me{UFXVZ(9M4zeEODkANEScXneQ--dVc88<%6sjzC)j3o z3-!C_W>L+iG$J%*AbT03hVVxC=^Sdg=Ic%L_Z^{}Wl|8$(OrL;{ct-+PoD zS^Iqoq%5vSIC}8iL{;7GyQ12f^arlDD{?)-M+A(-(}`Qcp+hjfpD?3$o0nS;DYHFZ zl>}b;otxj&LnZsN;y*{}`-|pkOkDfPevbizlyKJD{hr}vEz`4$uU&T^CdEStx{TV~ z8&w2!;DJJ;W!lSsR}__eJ-i`gg${%~hgj{G7ana*q+X30*>VXSHR44Xp%HTktyrq< zRET}hfFA}e|W{#k4G|FY(%4sxfv9o3f=gU;a%`%P1vMxFK)l&F^7Bjio(da7#jab z8sG{lvV@}a-F3X4xaHcI2`Zw^qluUxO?% zkNIyI7V_~+-#yqo5jVq48?LtUr*?Kfj{Lj-2)*$y|7E=f*}@VH5DIJuNAyk~B6(Se zQ-vQStVAock!kW_QgB0$7kn#`AOy^H4%D8FzZ^hDxcW;H<9Im%P9KY6&7IEEZ=Sz_ zj4^M_nTG|qM%<9;7n$xWv)j-R8Bi z$M&0W_{YA!A8FUk^#=}_&!KSdL0b6LRqVgXU zAD2}t0Gkc1Ye$1KT*wO(C5hs`BFj26j^0zF=j?Pe7)$pe*>F>?TQ8&$P-0}~J+jD3 zO0p4FyRQ%^tH15~h>Cf~VW{^-|20iyY68#0!59`SO_O=}l3Hv@D`hSGPs%jq`Z?R5 z0q*V7q@%An#wGoam(1!|pnZ+gl=P$5>L@`g{F2pu$Ax!b43dQ0)$UB_Fwp$WMyJq0b8YVEcs{c=fS`;TT(omq)gEJh;Y)s5=E0T&Vzo@v z5SQb2@p)tJ4EDde#mJ;>gVRS`Z>veJVKQpHS6udpN{x|e^F>Xfnt}D?hp^d^VLY$i zF#>8*pk6=DIy~cumwaiTI#SYHU4PsMUR2sa{RI>Kr>CfxKrVs>_$-Snv6^U+MLL#T zZ(L=(^x$DeT+_x%)P_aG%D#~r@78fU6hmd^wxqSv#%60TU28g}Od45hqB;A02MuWP zJ5X{{*In=OoGeW(Ni!+U)t#GR6E85ojbZ9>YMN=t(i9IcaV;JQW^UWj8lcjrFeQ98sJ4m?lYhhGW>>Ii zjjF?|q7aJf-M=Lhvob&}39KnPn+O}JHqS$uoTzZg^tJ&-d|SEB-Imeus{ha`)$6)u zN41LfI0DW7;^EiIQ5Cg&`${>JdUz;1-)hF1BQg7DK9WhU`TCvs>zzIK+B-RB0K#Jb zYOLa&8Q(X|?^nN{<&zd0%b!V$m1nxkg91@w9v205XwlRr42@UftF}*3%^g}dc#NTP zBcziXSySWUCx~3rrB=jU?|P!8#m!hSNh;ZuY|}eDGyX{gXM0;M>FM|%`pWAbF{_MP z+rJ}z9QDyDxo}wgqKV2tky8L;VQgfGEXa$)Jh;a=7bGD0BeZGt9}3^giNda2@VGsF z+VHxsV&&p++gxX_V;@=QP5<*SEx(hK^erw#ef5eH+IH_g8?(61V|#G)9QW5NJr4qX z!*Ko?0>c=H&NER#)fl@ij_~gxmr?_gOkS$CUTkB@r#K?A*=lA%++8{G@>e~2|K2J^Hu_~NMpl7fUL~WW$t2?666Dbep(~w zDPv|0UQWB?A*E#=SGkP%gakvoDSExnc~J)O5;etux}8%}y?lMyB5{`@NMlEk5v=x!AIK7l&bsJLF<0!Qd4r&si%OkFiO4|ReQu+vqI-k2j z?P&0?ekEkb&sYu}BK1dNba&3qZTidU>);^HPtba9*y_aM@*NabWaY7U($a~o<2{66 zI8O_7a;MQ-G)sFoqCin#7vSKBnIuTm0BV`BvVcsT4)J>fUa~i`99Y)Ew40HANsi5F05>L{M7SJ%T$AsyH4KqAVr8wrk1kJLiX*Hg{u9Cx5nvsR?A79m z1XL|DG`fs`m!n>1XN3>GFH-#`vw->I1e+sExG({BTJ}`vavf^-Ehlt?o0iEeU4xK(fo8&_muJR#31yJ@|G2fzJAzHJ?e3h_H(ylZGljO{g-88 z6hw<+HC^g{>|gb&VJQhptWD(>kWleg3L{Y#Y*@OKP+dsIWvA8`J!vg+v=J*+9F=uQ zVQ85~D=9h0XdQStLVM))L4ocGU_}qRa1MZ z^^xDSB2PXmM>o@@Uc}{8-GT0+KMb-M;7qx4=S;T36ddFg>s`qlzW8E9IB;UJsNu>k zi^yhu8#hW@N=uzFSA|soebO2g{#8ee%X}-a53k1i%!B66jX$;6D%8%KvWvf{tdc?3 z&#=7_l|!M9SkkIw_U5U8d`lH=7pKkBIubRCIz-_Xi#7{Sd~lt+=?vZ`zI95 z;e?MOa4?m6q}ML#L4|`!?ju^D!=&TC(L;(1;gG?0sv54gVk7o_NJJ9vzCivY8UW6` zP{_W=ic6Z-Cj5S%4B4t7cS=D{@I4s6Qs)_SGRJSHGo5+Ua~CaBxEVX$Fw~c5yx)co z43zCy05S5fBf2zHTe8<&0+Ep5IDbGFoa})ZlRVxyPk`hSFy$ob*j3Wh%ErgFe$D^h ziF<=O$uUI{UBuv$%F{Jm<28tfD{S?YBsL1DmDF%p3+t>olfa!e=J{)@aAjKUzlZH+ zuh^9=y^!!oJ#ppaG<}}&{81R)QIhCOU(mc~Eq?%hTC$BRDsEK_WC$(^H5xdAmN@Uo zq`RMuZ7s?6=e!gxFKA0uoqj8>EzMIxYVE!sl}IoxmqplzPuDM(JHwTN*|1&zXqh&? zKg9eo*YzYm=SW5#hmhbHTKmLl5PqC2aN?-6eZf{^tHEP*zkRA;ey<&?a?}rFxKS6n zRBB21s{RvAG&ioV>ea|UO+|i?g_Cdn-;2E|3(0LJ<_Q^}LVz~+Aza|P{nJ$g-gVdO zslB=%7brF<--pLwVm@D1HQ3T zaih;n%##$A-}TS=nKX}lCCH)3dCypWFlP>Qy>@j5&CEc1|GB{0+_dhQ**R#)8dSa( z2NFoR_l*`be$>>?p!FNS@AE?(OV#tQ{Z!y4 zwY3u~_(;{qXa+Z<)*VF^SzAg2?2!_RZplz~ zRcdjsCH%HFLk#DHVed(Q+J$qu<%w?x((iV_uLTTsYKB1evGKiQZW|*XDlCF6tqFG- zF#M-L^>J@&@}ij(wD#w05L7@~SQ)Llt+#f^{8(O8`xlA=D=!7*G=7e1B{m9U+Ce&V z;=gFT#j3W71F4ZSB~lLCqg1KHd?ER6N46TOXXnL;{YFZ~p`zcGMEtwX^0=LEHc*R- z4$jd^7ewmfra(m-L#gBa%U6}t<1d|~EM6CBDOZc<*(Kb#ZPJ=e5P0d&R z{@1jbfMKHZ(k#bWQ;**tcTA3VD13faw9#PcIDG!bDM!`21!BoFAVq$R(w;VI1 z>UN$bgAOND8f?yWL(|;T^#AIPP%FWEoIq78qnVS+S(6TV+|w9=(Z^!T)?id0LOD24 zf^lU*w-ylS(8odm2@p>xsiYZCs%qAoA!^Q5r9~9OD8hds*1F!8^at1vCzmYA{~CFm zv@Gf<_nrP(VFo{E-!v99Cn~oZ9vh*2( zp|4$beogHQV^V7GYSs`&<#MuiCRgBCvT~m{si01C4dBcpS*Zxs!j)FPGGmXT>zMaw!tU&E@VFeyHzwKwtOCj{su^3% z#B6)Dg=heJ(<1kVQKLd_$Zg34on$eG-(n84J&~3!ncyrw^TYZ>UKjX(Zv@n%pd`Dy z-Y-fjEu`0^f3^ft#~mD2?(XE9!#VT7*Cd0?=;*x6F78MfHzxbb#5jOR0zW=n2dNAs zJI!w?3Bdpd6fq9Umri^1SZ|cEAkc;PmkpBEkovL5Yn3Qh$Doo;?C4 zSuha~iNh5Iqa&E$E;#sRg<9L;8uE%gq^5}7fe~5Yi~du4WU^s55jn*>c>QQVYIUk5 zWzOYC!Hk7?4|mr`{v@|k>&#VQS-Miw$}Y~BRCDe0O9BXyV%nvItsLGsm2gEV1!I=W z^A0L9Fp)8;bj`3Cm~=hqy@{95R;x|Z+>&@s?O#RZG8d_*tfp@}XaZkkMO6Ox(BtLV zIvbYCJ@;LeL%HjMV}T)|xIaNX(cEz*M9&P-T#_>kJa12i3~f2H+(oBm zJh-#uB~TJ}qk%|e!GP{rM|!nP76{GE?PG;qQw&_*Nef=nit;`$b;EsbiTmGQYTVSf z_POxQYTJgk6HpdSB5lB1SzC?72X2KO!e~pf6($hU-)Xn}#&J9G?;by^?9^V_0EqGv z(u*P@|C8^tcJ7MC+?sq9JzA991WJFWR%e&M@vJJ0hz40@ZUMgVFIZb!EhxIggY^cs z-{=hSpOY;q#7cT99}2diwR4D;?C%$rCt{%BPod|qff}YwJMNNo4?in0{Hev}ipWYcn~VG7-ab)929ctYjdq+K9@GB`awd{NqcA%ctEC;$#XtLJeJC@y z=3MssySKjk8W-b|aH+;Fd_kt`Nevs8WZqr8sf`xr2{3wpw}#VZC?UrI8#6WvWkkDQ ze)X^*uQx^mkO!JcOcF#DJ~O$@)!&HrriN}T0i5=_kywhJWVJgIks@qXeddy=ht{Ki zqmf1M6J=?~x&*4LE-7I3X2+|vcc96Y1_~GEwu?;c}+tMmC34`VUYD5wXdT(DJA;Lp0e?FV! zO@6A?yo$-Rsw?d(Ep0rWc-itp-c{R+Fz;ZSte|J2Nw?wW$&L4ig_70t)j4xSF~;@M z$3}!&A1nXSihYrm-v4aXY1Sv>>rSNILp3>~S(d>4>lI&BMb0F@?fNhGX7Q=j50Z$B zMxjbbr%l!b$m`F8gE)|w8)QbIQ#0c;#@ zPzmgPYnqcGvcnaB@65mz-$i-CRd@TYsM^dVBFp4*AsajcnzcjgSE^~|uJ~DYRD|6T ze^Gv_MFu7ew0tN^Y+E>N?;QO~0T_uV2w?wo^X^PpzEBBS8}xHw1WY{~%m!a>o7{GS zl>_j<{6=!4Q)#g3FC^X*Ype5g+?69!NK)tsIhG1T3(n>jeRS6)XVw@m%)UEIZRyUn zuHP(i5dZS)bxF1=AuuM%KXuYg67cX)MxBWe!@DR9q&a^>hB@Ze5KUAE^oRBh>7Lt) z96f-wE%T|{7}MgGni_Gg;;PZ{GwP#lRQ(EY#Pj1pLDMehozYBXH0V%Ii;T>>`}RHr zw~S+z38ym=L0wO4WUi+2uN&A+?!Oz%Ohpmp`=AgZDt9f9(x(VhQQW?8NxX0(4a#qa)U3^a@<2L-iMtF6G2s0JFCG&BHM)>ECNZ+0LOPIQ8UccjCU5j|>dSyqa zm11>sFS(~qra=56BvEL)WIVP3^^8g#egj&#gy>2$aw#CV|JNnmSoG~MZVJG=JFTpv zWe-dI$~H|;8L3#pRpqj4DK(=jR`~7UBl7g}1FFsu2l5I*oI-cOr;yQM)5WV3M*Y6+ zd^{E*A3P8Ar9y)`FP)tI+ppP?E_l>x#(J0@lKqycwx>!67ewd{tIiw18mZtvGI5oNK7@Ww!q9k7T;AEDbnwlw6Qmq~z zCZ5ofrit|`^~NiY0H>!dILz02qrWB5{k>eP9av*4WDRsq14wq8d6j1I(h8hR zEnDl_Sfv5%B82wlizY44dpf zoV~i!2wLUe34lo+lhL^N!RtC4f)QxA5omIp6n;v~NnYg=gE66FCNtPgp(V z^cmbMzHg|e*vU&pq6yUNEgb>JkyL9YUe1_t$d2o6w+s)`r^{cIKviCa^hpkH6J!QP zJ_wY^B4+2L@J4L7F@S>wdiZ=`7<>i1a*T7i3IDh&1)#K)f)Ms?A*% zCDC7?IBj3{o%q}3{RWDT!dij2Xxs3Xx+U?Z*S_iNv+x_a-^1U{p~75=f|XJUQt1Bp zIr-POSH8|J))2G=kQE3%2}&k5Kp75;23|&;;fGxfxl-G($BiQlBJ!GAPE;aL- z)r@;7L+-*rUQh2G4E<~>O@|2~+T52me2%aCjQ&~_vDhU7@S0d=0mYxOhrV6xU(fBs zaE!(ie+SWrQ-6-YxCqGWuh5A}{~?Pc)@b1J>0OWExHH5KN16J;eH~?@Uan=clap-K z^%F9km(L!)Njv<+9T&lIA*u;Y&6f*K);Q6k`n@tsj+><`_|4De`N9r+9?eK0%8+2w zW5KqthT<6~B@iD};x=SQ8c9Dbw@$O1YU#rLw*%=v&-3Qq>?QkHNpT<_a4@Te8VtG& z1d`{cd-zv`w2xp$k4lSEtttnC#F#}1|TG&GhP=dBUwl+xWDooO7rE_ zTb2Dxs+;ahm8K8hWi68=DeE}Lmo12R$-4oKam&EC8;?DTbG7~wZ!{76B~7WVg=$AP zP0bA#Sw7*Amr^%)x$(+6XvCXIz!bpF7@m*i*xsZbf*hnFFB#;_q9P^GLR6}V^-I?6 zBU=ki7asJx#Pj9NwUV{86#isiilNJZUzYIzyAWrQ$%UMnw%j;eaeHz!uc26Ab-FYG z?$p>X6eCdv&=N+YMWtlSdsl;6NYq8-gh>X3ggYf1v);@U@tNXQ4aVP-eWmDn5BJPc7`kNlKRrnuw6s7B?#qtBsG6Vyvy2=fGhP}rcJ1A?`YYrN4 zK#*+RrQv>$xRwoSj$U1nxpt<4du;2X>t?=%{b{?+o{I2S1u|So$-^%eZ)s9R@q8=` zp~#RhL!+tp<4WwIvCSuBTwJ{Y($-i6>e--@(g+};5i6Y1q#+?8yri44g9qXGJY#1@ zUa9C!B$M-d7;9|FHS~JB%25D_9{C?rLa-gSTT6@#b$ajfGuuwoi{Gf`(e80tcdJzp z=y^~_DQgb`r?-0^3W^(#K44on!sjNB#m^_`s*Hq?!fl37bsV5MvWTB@Vul;6bj~9z z!Ba%&blyVr0(+$%+(UUvHFq`74xx-WrUR%|g6!R9vuGlPBAHx#Ys~E9>ekfO(&Be^XjSXz1 zWQyyuP|2!W{a>&idY-*B=tS8-B z|D&vGCoAL9!1cXt8S(-`95o05zlLovEj$c29&tmPal2!Ia>ucd)p5Q(CZY776}g?v zH`eqh@(i_e2kj0pSlpMSywzPPBlN;SXdgw>hoV69D3>x0_Js`Ly2Mw!IAneB;d5#6 zF}!q3AlhLZ6)elW(H!uz1vjk{!KKcJP^Ip>N3m)92IG)9%ASaqyB8G5%L%u&sKLW8 zn&{hxn#Phup6CtTa-iam$KC{GrZfx%Uhn3zj30U?7lZ=0RwPOW|eh=`Ij zaXXgdd|D!6suE10qM?F;7inL0{L+`u_6e4aEk2F*Qmmx*i4em{Q3TN)aprIEvh>{* z(&Z!ZtnQ{8wyLU1Y7K{Z>79sR+gHDz*>hdOAGBvfZ}X#AoORKxvFYgZ>0N3 znpn2qDVC0S(ouiML4rc%6UqwVms~5h+D>g2$vS1>z@o3;PPN zn|a2tiYxTk9bDG0QvNUYXXV#8c#h4nTYwl?NN_;}|Dg94Q)<$>&*U^io zoiX~gVxC=V%hed5J0sDt-EGMv6y}E*MkvCYpVAkPKTeC+5}L_Z@7_%g@AX|JC)yCM zg7Dj5SI_&WKCxgpmaKrl=aXGPfG9q$Y?Rs`hOdSm5drMo)3W$ELTEI6P?O`0K0sn( zS@G+IPn0vz7FIp)U!e=LY+;c9p&B8(T2hz>)$$QL6_*~&F!pW-Z`IySVHAOjTGQ_t?e0;;OR7r+pCm zPBzF7$qFIQ=Y@W}Om&6?e-6Vgp`;G$-V^S2iq+R=-0?C*fX8M_2wqgonnncim@xbp z&M*1V8!SwThE7Nrvz4{xNo{mL3;(n_r0sGk;JoWb-$&Eo%Zr1<|mm@(;vp!smPy9WOI1v<)G>;caLouebSI4+~ zrg5#o5kw*eu#&O$US>;!*@=h8(jV{AdEcA7o=%WDLNsw0LMo%htuy;+y?&k-wU$eZ zYfP)0|K38r!nwA7@C$R8SIUSSsi9fPycSBF%WE^O(x>q>%+hG{T{DB{9TUY_xHr}U z9YcB|g=pnFT68c6C5z1mzI` zhd#_sV25at+xb96i{}|3KQ$sX6XT*LwzZiRkbpnWvJFQKRm(7h1KU$n2W1uqnW=UL z8tRhyt7sA3Z(ezgFZQ(jth({&@;?-OG!y9kJ}};KX8C283r$!^;P&8)N@W+HypVW< zDR6(q%WBc=?n}c2i_Lv^MtO*?{i^jqaAihhcD*%~HzTd`(}peTPP)DVQ*Wa`z*SF(Zjjdqzll%g^{$|gsQk@bw_A@+zPTu%U&R7=6L^%xvJn}iVvIyZn=#=zti zQ*sbPB$E0hh^^JKm!jZg`T!@;)??Tc2AQNKXl6tEP@QrQk`sCZ<~X|l14&~P%-S!U ztz}rLv3G+&y+QxMr1qPWt#t2Pw)WaiB@4uf3<}Xi=peP=^Ij~PSx3g{7n0jDh-!i- zQjc5l%Pg3GxO^h`I}J-hmF7+yRbXO+%V-j1}|=C008mldAK zc&$YU<%ox7yNio|C`}Wruvili`x6C)5|hRS;A9R#?>kQ0z5c5=8_l_#;&f9mVJZep zL>We6Kjb1LHIL}JdZa+B$8Oq4!1xmxnG(2s0dc%Dyob#``?qo6uJA!7;bAv$f2pxo zY4_b2oTcc4MsByy9RGr?wQcof_92u-vt1R(jW1cCDg-DyMkX0s1{@QUFl6cy^S8 z(cym3^P$&vVZDQ%b0bc+S)G(*G?<{K z+|-V%&yPF^;h5blpNoOP)SnH;k48NOeLuDHUxG1}cjrok150s55Ci3TH?pSOIot{p z4rCWALKjl{JHo_qy@rt>?NVPleNaETE^8W+F1t10^1QuS zfZZm#ffv%07wDqf{fl(Ud2RczX ztZ~Q!;lq-Tr!6HBazh`BGTP*Q=^vaVKeGfHI#$v6 ztXO$N-R)j>0E}Q=%C>_i#posMcI_0Pz;%y&;gl+SP6RgPRUkFF$_6&!E~vmb;IQ*l zd&sGKY2&5Qj4+3zwP$~puKHSf<9<)_r=brTRO(*Ae`tf%?nZgr@C`4pYb11hhr}}x z{#+0J7BIA@Ur{8-l$6)Q9om$43TI>x5u1=dds&hzsL4bBE(s%RGx&F*J#2c>TR)+Z zt|j_41sWPl^T?16(;5N${>?@%nt>0tA~iBM{&PyyQ5Z-cVtWgS?Zwpo_d3y)e!0w;Br&@ zR$nJXD{Vu&+!v|=Tv$FCR8b*w;GL#phU5Qw^Fg{g@~ykacTy% zKyZFM8t#LWPR41!hZh0JTH-fyb+FV`xnEOL15i+b{GtxZTWIB0O2yre2QX=Vq!$I= z?QzilaYK9n9ciudjUyHX7OwM!AtF(#V zT7L`qekM^lrg|YkRkM7MW_L1V24-|hRV!$8EPl{R8Z~#6ySB^O90>6qMu@ABU`wkO zWyc3kx&bnsQTr)1CiZgsl@&Jg_feV2+qmo-whNJ=;6>?g{xKoeNcaBpl`Z#Avotbt zB9tO)2Pm(D1^K^4A%QVpK-u00G&)_@5=Lndw%skeB zGVwkqD>J|_y@SMQk~LAjzB16E>K3)x@BEC+&x9*-ZHy4nTsJK{c|`tr#ao63`+Kw% zHg_MnT>XvlG;pB-rq;TtqL?A40E8ELRcc?OI=(xHJIowCSH%|^c;(?lTtSix;s7J_ z{BX`(hi`mn!8O?@+3S7D%F3ML`7^PT)|PCZ1qs2iytelkhs47v_|&p2aW{&M*5+Pb z5`tJ8Sq?E^`P|C1M2JW&N~IHxUJi%C@r_X%ZsDWy8p!`AQ3LQO@d|2*_ zzrklJ7;-<@NxFzOgNQ4#ml*qr-nYB=V|^7K$1IZT1^ni|koeLkT`fJeXjAD=9cNdC z$|Bzop`>=b>+Z3kxV{OU0LYJ9@Gv1CJcj&G<84a6{r6lj*ElN|K|dH zN1-{F55s+=NX$E*kYq0*B@W2dLQ8EmJpNKbNbhJ(uE;3DOV`gqFc?PJTvxDUO>Er+ zq8U(g?fJn4BJ3v$8}x~|#mmVdT5vhGKMv6KWI5$+WONKhdy@U(RCK{wfy zXdGH)!6Uvw{(sAFmUg!2*Yk;8kwH-DcB;LC)>9-8QSBWZhK~9-)ojC5@zURNY&~_w z_y@u~VJA9Z8BoQk^FYikD4cxQNMo+0VelsHzKr2L_%%eqI5jT2mmr!J3P(&0@1Psq zOZ?49l3j!v^9O*C(|ujiAxfS42C_ve*?XwDaG?FiovXJ~IzAYqWp(Yr1lS-#ntn0~ z=g1XiRUGJmuK8e3jPqb~ciDaoPg&bu(x>B==k7*1293!fHWWr>P~L{2#+7z&}P$O$G{Uq!GS|hhvCtYyiwGnSnKa2VG zX!0*%cvL>!*X`>+!r_0&KG1Z$@9+Sgh%mMTb+z42bXAd!F`{ zx6U-ff(d7S_2DAxvBvz;#^SKMV&8O=zI-E2%2awy0IO;a@zukUGe5r!4X;HF(aCxw zHGrK&76fLtqJsfypx;2qzLc;pS6ekXeSdOZz7Q|FOH03hrI@GvFQyUJz^oYl6KVW| zl;~ZL|5O!96tMwsCPU$vY)Ij-V z5d^CV{2GSxf`N#Tl($8{O6H8`=pmu5>-qG5Rb2&CR8hAcN`~&PAq1pbK)QzRAqAua zhHelLX+}a)LPDgwK}v~{loXHP5knFNArJxh6+_hm26Sd+9EGUD1TZ4Hxm z+gUhC+o4BDo^_W@R`nii!tn+xTiU}5TCWa$Pk)00PmqDlRBbW^z@Xw?@yxw+Rj^5g zBn)?5n>5Z<4z$jwm%MZ2E?Lxyp(8~w8%X_`-Gbt0?av)HN%*xF?j3fH1hoGWz$oF| zG@tsw{y}vWU3zgM%zy8x_#U$&kZNBOpkZJ0?BA@fqF>80j0)$EEInZ9#4B$itLQIF zE~fu78vN&T4<=6#5yNFCTcUa_c2^S?p=G;Fp&;Wks8u37q{*Bdw#LmP0DzZtQ+(9V z)#o+O?Y|0mk9jznCdS3fV``#aH^zrs`krC6UvSQ79;ZiP4FUCZR~oWVB~H2bsfYa) zqw<{V9IOU%U?B|*M%soS-U+``CHDp+u>pQe+3R|s@hej!4Zlc;W10nNw>n|}1~W7& zubp4mRc|Hdxt%NfhaFS>ShQ)8E}mhypk zPj&1F-oB`LETX`Vxf1`0iPkLpgGP3Z*)Z%oHjq@1=QJ+V&bk%r_I6`}&8vET+g*?a zZ6&bx&7AYl1}@F;iu& z?TYybmOiJxfSY2=5v4TtFFy{6d!v*T#s4viSWG&#Og0;zmhl_@ zj#bcUJl|I1YE_gj=JG695$skm&;(g!?At)t?PuGxKDd7P_N@Cp{14SYU4 z5hh&R&@AAo9X%y;t3umy>Gcz$4l&@GtT*CB*1nkM@R@KZD3F;sO#_ zFxETyMy1i?`#Iuu`QHF->X%n@&+YsUm$gvy%&> ze<^eo_n*OhqL!(wO8YetXTn~VXj6j_paaaFH0&<=GZ^NA?L=A?9xYn5M;%N?k7~}C z*8fg%^`rPi#QqVh=P+_w_;CNbOkkDPL!0T1M6)(LRhl$IXbVG&q>kDb2_DHy**{t0 zF=_;oh~>49g!-W}P0bMZOuno{BaK<4PDJS##V1|06y znQ23+{rpGq-yP)&6BGX_N=Pb!HVtCx<7V#$J6mQ^n-KHn#n5ndsPf1od-y2P^y1cA zEJvc^Qx>zZF9Bk2%~E1st}0^nz?FWI9xi3c!f^U4cxM<}@V=J%;267*^u-@!i=K?F ze)Ki%VUs>=8+J}dZ^8&CS*Q*5Taqi3qE)DTKb2$hawVp-2+|4`=09gbZ_narJ>*r9@^~5#K zr%o-kJo(A;4feQGon$q+UK^)8$Cql?$!pPVsnwyiE^Es~E8v5tX05eoXaHwnm4+_I zfc6wIt~`|M?W-T}$!aLvv)a7yI33YHUwjFUEJ-2_g%T<=;3QEC2bB+mr8t@h!y~q# zOei23x07J#{!3+g@T8y~TLUJu$Q?K&g&@@rg^d z9BG;PU;@xL&wV1=A3@XvxdE!8{a5JSm@A!INUy?<9d+>?;*V9QO{PL;{tMj(Pf<&C zy7P;EO~EtrRLkh`c8ez1tMb)) zn=4au?LAsgSgy>>h~Dx?Df?%b_Ry$obm2)nz%W>pPjg%8S3Cc6^f^q;uKLpP7*!6f zC71u>Dmnm;$D!2gIaCA}ze*fOamBMq_N@Q`DPva%gA3tAAQw&q_2PMy)M!OGS(m$Xl6|vZK=hQ>7TP_ zbPaf^DWYD?zxihM_k7$fN2WN<-bdBP3L;4!fjR_fi21lGOO<;Orr&VWOU#kW-1|F` ztLsNe;F6$jKyCHxs-N9`8k%W4VtIKxrz1-XOc0U`9a-YNyME*5F=|N}YY9LJ8M@Qv zEKP4@XXo4=E>tJPeNu@fU0wetR^8my!>HFiuu^oLz4 z<-Lph@_b}Ix>x)uec*2|m~oNc@8|dfe*1nvWcPfByv`@}$8&fYk%{o-uguqio6@gR zg+tlsF9>;Z{B_mYfoUVw*ez9+SKq#Wr$P_nlj09MDQxDHqEfX@7qJvdRxfdw5?E<3 zGJIiFKkmx4*du?%#z`G*nJLM0GI3=ha8ME(y)qt<9Y6xjw~A^+cBzv*VfC?uwBYm+ zNOLlkqlbV&onz-b%9DfIIhw`pLEcp>f@5mN2{u6i^TSU?+R+%mC?RFABZ8FvR|__; zjXK8fE?ifGZyD}#308xHhyISP%Y_m#I znZ{gL#%O)6eEHFBp}UDgd3gZm5f~08OH*9aa+TQzhD`ug)b=Q(z0u>rvIy9-^!_l)%`IO< zO8wj0(c+T>34%YKPF}}86W@#*QZKMclr(R&3fg8am%3cjVPr=~5Aj=G8y7s^US^ilWJ2$1h;tqP$885zw~>MY78unbe0JgL{Wz&;#daeFK11Khl$cv@ zCEaZ+-LD3X-Lz(=KtByizD-CH>PW2i8!`Dw!^6$#jRZ<~9fdl;e#2+g%}emk;Nlj9 zeVRCmFc2YYc(^hqOhzE(g#pxVBEMqM{tPe%KR}U%>^L!N^p;5rzOt}Lcuub} zrLV9K7lv^R@HwLnR742UWHUclVIFAvrd{@UKF*3UrbGcADxR5}i|%IoM(`UFIVoiD z9ZWBAX-Q=K5CSfs`=hKCru$0pLH&=#w=j%B1Kv_y6-9O66-TT|0@V)i>4}6u^4oJH z*L2#?Q_|R&v+j(zDjG9(@&3oZD7BK9?O`K&x<4l!{QAt>&&PSK#JK^*%*=wWkWE^< z9i!V^4L_CiC7*Q~x1A^|#v* zaO=~rvNBvfdpH)&Z%+0#!9^)9b1mAseCDNoduqd~AY2Nbm$VGGodB0m?tTUE3OMIg z@PU>X3Xe6Yv#}+o+l3BG{aLhwC|avd>^Z*#_>RI+3corNcFRWNeiKR@a)EqE7)&J# zpg^K1(Pp@~@{=#^|y15X`C&RiT0 zR5~^c6F&xncT6N4YY6S?Il)q|uZNYd z5mOad%@sft9z4^B8_@YJ;hyfjASK9c!OrSxO78>w_e=71Wv*VzSPzzIk=OQKrx>-= zYWykkqAJ-|v)6G^{4{1CNIlimC>f~T6OLIQzg*tE`%l8m(O0H)GNqkJpac)bTiWvFAq75MZu znoULyJ>-f}w-iC>Cj6$4eEMk!qXda+?(>rJhBdA~t^L-1z*tD0AO*+?(d)?gH15NF z-1#ZTW|~N)BHAEXQE+9FjLS~Zg3(}`0uX7vrxA<#m7f`R+Z%j~|LJb^j$l*E3~Sg( zEye1kH<>)zfQyF$#A+NoX@z22pU*Nd6|PMjc;itkzcMB|V%8dIZ-xDNziX74h=v@; z=$Rfw-AL+u3)7lNk%QGRO5*-v~sK*zIR*24fy5NR6Q3TP@1#RVE4TM3NlI~Z5FP_ZyVq4Kh;t-cC zw=KwswI`5gRrR>M(nZm+6-85Bb9KM=C_P8?P1L9vSs@hIznvcQd0rWmK7?q)8dV|f zg<)m`;d1NG`1pvw6100BvPZ4Gz4Fjz3Ypy$(LmE@^|mXB$365IE+Z+XS7d6%!7LhG z8tcjr6}=zoi6h3QsMn=2d+)n3Jd*p8u}yo|wyB32l!E*@Ih7ls$^smLcJF4cg;-ES zbxT#H>hc@8MG0db%B9CGJ|V6QU#t2awWb>0wRYl(n0`zDXx;trxL)+*9q#jqzJpg= z!;BEH4b3|ta7dLJ1WC+w@8aDRqbez3f{YZ&R!dp06pmjjWVJxnV?CbCsvF*5h4Yh; zBnz_7YLsTB2Ba#Je!it)=rX)r>dT}04U|W(Oq&KT3lfF)r$2_$I{MtXzhTOvB_+1y zGZKpm3lSG#E7YamQjFtsn9BLK=}&y*6@-y=?S0`D8Uf z8a0y%zjGEZ!9axjiSJ$nEnT0WRuFzbktX1D0^7r`As>A?cxwEdu+F4vZqa8L?%D=R zSfj)h-X!#D|Bz}A&^RXxs`tme=|VUFX-VmS z6?k9C*uy@@nojsU-?Q4{pp$o+82YSM9y3ej6^KtFv-elMVNE+I>&F=vJ{_q>_Wk&G z0ui2pO9P`a6XuxKGxUi@!Vl*bO=3F6D|J>GXi%wnQ5hYq1gGs^n$&u6Em zAH8g-Gj)b<_`OJyxY`zJQ%Sjo?{HfUwxWTD`~|fm6%|1D$HzQH{FUe>achfh_mIVS7_%A8}E^JAGkRojXYg!Ly z9S|R3?Ak?}7~$=AM@jw7Z978YfEPw&F?rJ|29?m^K4phK;9yyq5=;EA>OnZCdviB_ua4^SVxjW|co;?Mdiiof3tkqGqU+um#GBxWhjAC$&5#>mPr77B^zJer-g%P4IByg;M zsx}vm;SJs?r=+YQ#`P9<6n5Rl$QN=~Rf&g@fE`T}TpULWc!7yASz;%DM>^Y}Bl zCuJSnuJIZGD^Q4T+FP-{%-t=GT`5TY|_*Pp0^XtnQ= ze{mSUh1)TNA^b6v-u4&kKC_j3WN3}RU367UOo#$&n9mxtJvo-sHd{rsp|?bykMj3Q27XzSN18mfv> zC~#JqK0)O$)WduS7Ca?+VIcA%9i2&*Nepp!efof2Tnh1xzzkXb^E|$>ug)T@itOMk zR0?xY=>W;h(EBVeTSzsaZiQJ1BR|7dSyl-ApsJ|9Q>b?5{3u{TW9k|FKf_d=P zqdx5JIhvcamp5wX%Z_J!?bfZjABq6ejx2>9bn{*}iwfM3-n%9MP5}mj0bO>I(6hZt z*{0vRPdnW1J>P=}o{nAvb;GKwaTz4i5LH4Z_bWR+ccXJQ90@)0Ux zv`6+|ynhoyO`p2Syv@&}+v}4$Y%@Y=S~}UY@mK_!Ox~{$wepqU@~qa<seRdn8{pR9G>kjSdr*khw95O;+i6=zJ zr@8B4&MXFo$_4Tw?x)aV{i>{o%_5j`H}W2^Hts5lQ@R<>2WB!dGK9*HJHNt{%*2Rs z_NxNt=`9*cUlW!~w|+OKCVB@;1m20To@4U%6>vZjd`?hD4mvXkWD?sKl$ui)w*wR1Dg!h^O7HU)=-nM!r%@nNw^~l$BBP0 zJigZT6ja5V0y5fhwwrfwo#*}x9Ue7cccsbr4bcuVna?ajWHWwMqWCL45(S%5rl-(V zd5DkC3ue8<$NpX}tsKlb%B|N_?E{{I&#fdR^)8HkGCu=%aDNX3ijNEs$V0g6yd$ij zG+(s&8Y1E)OtO``ELG`@BBS%cYV6<5qG1v|b>Jl~$9zdZ0nb|2WU}ANJy<4JM68_M zPE{jh|ILr5oU*h#$MK4ssrJR%nOjgVC2?43)5tqd(IrQsn1{&sz|IW7Y{2W7B(P97 zS^`{oh|3L&IPq2Do4vD5Fx&M4#`Vo`TmRm<%d_C}L?bgkvqsMp-Bnxy4u=(w&hIw) zds*Ze|^1$&y2mMBqrCNLx>S$LHam>Y+Hv#8!xi@)~|CVW?b19xAVdt@79CGD^ zS~+SCS`LjXw&RE(@*n!XoI{buqB4mD)E!V)$@A|>)Vy~ttz}OKPOXiC3gH07pRP|G zH%=YK7LngrS+p(cdyqou@pt_fIuV#7OPG7tUuCJM?lz`fABebZr=IF`P^_q+SF(^8 zn9R?OvR;M)LIR{je5$@Duc9T6Uh!**c#a>hL5)6~Fh#X&({6{ABowXI=;<-~Ke2Nw z`>dsw{qpm{;BOJerl-@d5t-*{~{K_ecP%ep*o^g2zfXNTPv&ijEa z`tS5SD>KV_fcu0Fw8QeQ9_vW`1hKf=dXeWc$Q9(Q8P*LT!@ba}Sl z7kn5T{U60tbjRytCN5tWJdV|P8bM@cq7!$TSMI-dWNZ&F<$0GA_H1;~f&a(9`66_n z8WmRKI#FdAr%jSf1ai@4B;~gpEsbKF1LL!bI-JjJmz}wO2H_B87__r}&FfE(+=}CY z+{g3f%DbW{124mh91H-mnFA$aigP%OpQJ~s1%l+M*JX?kaJ2@0yk*jum!iPE@oa>K zbaw0CtZ`*2J4!4D-**R7g?EcM5F9}4jl+5N1F3T(f>Fu2`2~m#0Cecz5_Y{tnv~h! zN05*xBc<{Dr>ap89M zdued+*h#=&C{+Jb@q@=!7d~ad|2sNQ*a5rfpVOvfhbUCJ=2!_JcsRGTBHSpg&4WIVEk5EHa%ijQg(y-}R4M7Ho0g_ISYv zADuC36%>gmUe&0kt|gkiiz?b!Zl^NCv>C{ifFr_yLJlCihsJPCs_ahr#@x?D^go*w zgL}$Rhuwrjd$ULW1WAEY?{?u9Hwo0mnZ7I&ld*t0NewsssZT~FxO6e$vHKt7f!-S? z`q>DtYjpf<36qw1K*oU0;92SKN}lmMVgrHi^N_dM#7auU?>=~It8^XS=YlahWof5) z`ymx?-6+9%?~ywMR8$()Hh)0)4B}B42dnq(#rQw|UECLlumFN(HC~Ip7J1CU9T|?X zDO^8zor!Ko3^LKIBks=}x3&rjBQmXmom&uGDJoY$E#21=^WDvL97!Q{^^=){;I-^u z16gMbVZnb-jcBw?;~!Tu9!eZ(TUD-phz~#e11@4Sc_<9EF#=lEh1unFF6{%^5{Zb> zn-#t8QO0}W+SK!ZZjU~SDz?mIRf03sw#sSWCuB6~+=W;P)aKo&n}EWhFak5#KsO5d zwsYL)Y+9lpdc$+&@2zcrQHW z-9u&E7<}dscwBbxYXci=9d~DXNJQLyv4V9|m@*gd%09_q`>v5p*~Rw0GBul~^lN}) zBnPNXA`FnQSp>W71jc>&ur{ojj~B(R06oL@CS8f?snX7vaNekPn&EREgW2blOWc~l4#I(A^3(on0I&cZE1_? z-J?T0E{ez|?lgZ1}bDb!C1t>&`z1In9g~*0fz_(wI2F0YbOg zh*4rrBJP_%J(j#!|IHvxGmwoxpL+aB#r`R$fpB?2g$a#;tKqsFYdMH8A@*6UPF!&H zb47X%T7;(fqR)2G>tJepX1jT!C;oNt5JBVA{0kHF*%EA5x@C}zj6j5~F*fuM;+euH zI#)+^E4?r6p&k+P`P;#Z*@v%tQX5vHwG1v$O(*Z>N~%2Gz{`GLK!9n~N%5mnk{vlK z(oLo-r)JA3QXl&^9kq>>NPY6J7&}*1U9L$Id6JSFG#Ybsl8SzJ~~5G4=fwiPiIt^7|)ln-f0euHa?J%se8@Of70=yYSB(he>tPv za!5UZd67YKlbwr4@7qTFBVah-OC0n{jUn%I%%$_QvizwTE)I7nWs*HaRaJ*z`nrXg z+e*NTn62xuK_~;y-`YC(`KjZDWN&{8P^&GNk_+VcZMe*S!ZWREQSX!rpDzkJ{Q794 z8#TSwFFHqQ$C*yxbt(JL={l=7y}e97F<5RFnv!!o1F6P$mvm<9$%hOZExO)nuAn^I zxLbAlSev7y#4PW6vNeLS(CTh{_Q34$tEbv)6(xaW0$*LL-$YuL5kHo7=_K3~dMRCC zDE;6c-Kwr{Qq%UP+CoaGQQIbiZZbU)aV$f^?lpQ6v@ma!mL6NU`R8|)P*4qO$m+y} z<_X?Ox$jaBa&#pbcH8@Y@zZq)iCJ-rHV6zRj^)RW`}Dn~zVFy-Kkh?fw4kx@Pe7zA zC$%TwSFwHE6`yr%hjd-cGq6?Pmh_9j_nnjGPvO6n07a`o?Glpko5`P-H1sOjDcD#e zcasGX5*9=P8ao?(CUdJ;h`!`}FD+V5-5O|2oOYfI#Tzz}o!Z2?7D# p|Mnw9_n diff --git a/figures/ifcadvancedbrep_01.png b/figures/ifcadvancedbrep_01.png index 6aafe7a16723cb7b55a2853a99dd7e3d5dcc6814..75f5e17ceb5afba77d76c62c54511247e4153f29 100644 GIT binary patch literal 80870 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 H>(KuK6cr{j diff --git a/figures/ifcbeam-01.png b/figures/ifcbeam-01.png new file mode 100644 index 0000000000000000000000000000000000000000..0ea09c72132e379b685d6c4c3b1880e0ff1592d4 GIT binary patch literal 23614 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 S9}IYY@6))hqk>kl4Eir}WH?0t literal 0 HcmV?d00001 diff --git a/figures/ifcbeam-02.png b/figures/ifcbeam-02.png new file mode 100644 index 0000000000000000000000000000000000000000..c8bd72b0f8dab039eda16c19870315479abf8bda GIT binary patch literal 28238 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 T$O(gYz@3nn0c!k5CjS2e9vir7 literal 0 HcmV?d00001 diff --git a/figures/ifcbeam_cardinalpoint.png b/figures/ifcbeam_cardinalpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..3097ac005a95c96b330626cd1e1064b8ec318f65 GIT binary patch literal 20084 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 literal 0 HcmV?d00001 diff --git a/figures/ifccolumn-02.png b/figures/ifccolumn-02.png new file mode 100644 index 0000000000000000000000000000000000000000..89f3e35a657515240cacd61172c1be0b7cb3e302 GIT binary patch literal 28415 zcmcG$cRbbq8$TS9LR7M{BH1HkXGHeS-era|j&X2|5VH5)WUr7oj*&8tm28d?=h%+z z;26KR>hryS_v8Ni{-Z~o@qVpyy{_wdJ+J3gn5MeIZNdkH*REZ=t)%$k<+W=#2iLCQ zvfRW4-r*?QwgUdbaeb*EbFFHSb`5xO-S)ZK^J~{?Vu;RO;{&g6IV&2vUb{v;e)R{3 zY8bwC?V4kv(u?Oho@QGuq|UUctd&ZYn<6AQ__)dKXEm1h@Pnu>h^DTKTLtm(MJR8m zB$|@-+#5O}hP~NsT^L~DBr~uIq*RLpql7&^@_D>Hs-Ku%09V|9n@JhUR?!=lXj(Xv z#Zl6!JMO}xEGG)t%i>tUV9(aj#gL2orixmv7v+FoVBzyJ2Batj2&WZ zV40gWci>rfWVk+nSU=n$%0t{@?2!5Y=k2>720FT}M@lFKsna-bj@ZV}{+E6dp3Gj- z6Q^F9B#apBc3WF{xr*>(rTm5l44kuCM+5&J;32xW&5&58m#sP z#kV!lHF&Zi0VB8KnIGE2vpxiZVjd+zEbpA!HLw-P zdx`|tUn^DWNlKk1r6$_t1Bh3y@=*7r#yr58BM~CBwME9YQrWQALMB*rPB~Ra^k*E( z;_=h6u0P*NfCP|>7t848a)^v+vK&2*U;9##G-#1>O7Y(7#vx`o%T}w~U~sz)&zj$y z`=QF1T+2duzhsnszT)rs8?&sj1BYdJw_79y?AfzC#>?~`sQjIvb2sGqTzm9omVLI_ z_qD$I_b`g2f|>BhvYXweF(tWVwT^Ni1%l%ILD+-Z_iwD?K|s1@r5^eADtM;qan_%Df;C zv2+t+t;D_Nv_jB$MMQ;}NPrMogM%4MidP!Wn9I&p~q|sV4Hcr~y>GgCo zbKNZH(izI8K65;d?H((iqaFS6Rb84HO?i<)<>nh=rlkn$nDv9afz?lAga_fD1Nf_D z9TQ+4w$I->{BBv=9@tVWibC<9L$<8wlGdu&+87p|Uib3X3R8Jy#x0C`Izi=cg2?@I zdW1`>i3&Dz?T)mw0;4HQVbNdiL=Mrb4@qO#duBpF-}&AyJxy`vOon`Sxgm1vkGaKM zlWF|kkhEbTCZUNYe>j-h>mrV#2dv;m!SdLkY73LOsupi@7W3q#nz zeYprSB9!{|RG8(oA4|sF7`Z>I&j#*DM?#;>+M24~Z|uDghW|Y&s*Rpn6c#E#EGddY zmjsOodaRT)$CbG95Mk0j>hk_3A)tnEeo)GGO^@*C;iH-x@T}EG2t%YbbvYX+#?8ni zg%d=>dC$_G3Deu#EBnbzRaJHMT+$MGmxuKoNNE{G_7YuCP~hFC7}Z`iF5V(yjU?$v z1t*?`$QtbEj2g?^lRhoSK<)z1UtCd z&5e$JakCRBAPF$71be%{d+ErINL=)PxG5+MleUKxR#(Rm`1#^usnf@>EjI<@#Ji3Y z%-0=eeL}Q0Qek@v<|hT8m-HEbqj+*SBGVPfk?1xi{ojIM`eS#ZP1{^x5o{Pwg(PJ3 zQq!3N3mc|HjvQGvr%d^gXnP9ohaXSiHya3QkScqGab`%%MHEns#X{8mua6hvw(Nha zHr7NRDbyqBmmiTOLPqlmL6ow*j_jWjlG^dw9G^pH7-F%tyncplzC7$$dT;v0ZxrC< zyCwR|!KChR341Mks7l9U>fI{)!uXW{^M+i+7HQ9Upvv;R^UOw#SNM_~q zF%(z9J8umzr23M01WKV08D`3*vs1)Dde(%Ga`cx*H_W?U2KY-93x8e-Gt9x0MEO8>>CnGIr}VdHJm1T@y3OBjo8k=-MAy^(LV-< z;~`b01*Pl>4$4bX&{*^JUvZA`v_kb@)p339tiy@8JZy?!kb|AuwU&_xS*S5}BJ5o2 zHgpBFR}b}kr0X{co$T9VgPV#8)3C|(yv&LrlWuL?PhTNipV?&f)~Z3c%n6i^9zNUI zptyPxiokO!N2{B6RU3B8C#gammH_TkV@PMzszFEU4x7q|WVg zrG4MZnl2wpZyzi=FFRUa{S3N1eIGf|gQJxlFgvYGsLIUuK~XNn84Dr8=LDlUgFS?H z!%r-AZuXe=TgkmEFw(PXv?Zz+6NKrr5}P-Gk`9~Q@D9{@Nl<@BBey|Q@1EEQ4>S5H z)<4lohV9fQRv4BQ@^V*nR!R@ZfWRwj4|F)0!Mf(X5vNM8l6j%H@CYQsZgU5yIHYi*O`Ec5dr@ ziWpd4Kz0a{j30(PBmQQyt{;8x^)+DfpaEMecE71Uoq6*J9;MPnfd(}xaPQx$sZ=+;w1e`DLNdZJw5%E|PY-fnE( z|8UG*b==c3`I<*L%SUy&gK@k14nNb|pbq#fKHg?#z>4jYNg_SBSFZ!wdaWZ4ad-xI z(9TtN395bkKJK?~o|KI68LN@$ed^>`?t7_KY58@Xv3kX*J8(PF_W*7zbrBXpKkwmO z1fmq9tnSPjg5PiBAmf7ylre!7O(UDm{K}5AI@8RPsHv$98=ZeoQF1q1Y$+~;8J)9v zrS`qlMvLUT2Tw(yp05j~DAfFvX)la ziRsk^31a;5ZS6yVD=CxeY$rK5Ec?q+SRSWZC=pMiv?O)LVD`uZ&wM>8W%}i882OV{ z$sJc$9sJptC;ZWdQ_Vkzw|Zwy@xx7|JPBHNWCJc7s1jihxQCX}3ExtdbnYarfbXZk zb~jzJDFW;d6S1~8ST27k*sK*hX^#|B%sOvXs_-_J6xP?f+ldIhoqXR84>w=ryIcLM zySv-{anRAxkzt+9TF0-#oXfKnSW{E$UQ+b}dyV(u`rO={lRtK5W1@O{bMxt+%}7vn zw#U9+aQl8umMdC!3G2Y)X|bxD*Uo_)(X87k-TgLF57*jzl2W){@?urAp1{6pXwa}? zWi}c?L^m6PK;g{s5p=`ueFQJ`)n}v{zpTqe`2JuaATOj6^0L>ZT%zbpr)vAwKkMt) z!*VxKeDUlEJ2qlB7dW0~o{ZB4vkxXY5-3*B`mTc2H}k?5ny<4RI@+4aNqqHsd#)w5 zJ}NpoKQNux0%C%FDuN6Kr9{hY`=mEctS;S?zO8u+ZkiltZalJDk%rUR*D`rfQ!b9D zF}kjB^1~!!B0+pFYq{3QCcsBZ=nKM{oyFhYf`{bnEDcs=7@CWS3!+qB4{Q{eTrRdo zijcQ1qa|58OeFI`3Qu_rTXvde%)DLmEufr*E7|9~m)1k#+mVrx(o^DKG~(+!8kQv* zVaE^MaUT%7>2$TJ>FM!@MDKl>q#;n;`!TaKGp~?r* z+E@t;!qss`!c&dfGa0aut9vd@3te{=%nuZ4nph>;NNrwnCSeE5u6i4`OtDngVX^v$ z4%A_Zknj2N8hs1Fq9oWKp`>l6>*Ya1k|!w+6W^E4hpZNMfB$~nL+1)z>WrwrLe%{*24%IDm6hKM~fEa2t%QIr|p+6D2Cm z3*jYsa0hVUui@w0^Hl!FaSCmimhH8^(i_fCqfL(=jEBGk(ukk6TK7?K{n!j8C4J|! z+6SI>PkGmtx8BAT^g`$neVz?%y7yPdp4s!y%{)mUeL0Kl5bwS3(HDDV(EJaIlb@A~V0J+mzW0V;DSY{>PiX$o!7 zcVNv~u>8?53EF?537BPwH-@v0lZ5_R$sF>T`+6dM(!Fo1dKV$~jL--bo@HUha}Xwp zA`Pm*%8>*+C9Zgc31>wEk5gV9j9K!@9HxP-&N917f$7=z?ZpE0V>B&=HWWg&?=rEB z1H~$%YMTf?H4U1r@a87pzVf)raJr8(x7eN0i~SNjS16(gfr(N-+g%S8emDIol#w~l zJfm9!jgJTSsP09E8gih}>SvFrbYo%L;U)nZ?dn8V=mv=OPf*dR!wQT)T7?><(P%X$ zyc3SV!roZePE&J%YFLA@%=dpVWh_?w=HWCVJ`E-ZfRa9a$3+2w#dO+gXg3QR7+W9) zBE?K+f?|wxxWK!w74fpfEjQSj>DNZ6+9w`hMxTQ2*$3%+JPh+ zY)NWD-4o-fvsSBGGO_#@bP;^twr*{sh!>$hPAS6V%==wFo}Z)xzNLwNy%b*mXi+-u z%K`BX<9WB@{8MJsWQ-@Pd&aXLtUd$!|n5J zd{HMNEQjT-g72x%y9XWg^8I~g+Wkeus7v%xpCw;WBY z@U}b^5lQW}`n&_s3e6X%8{4f|Gy#K8?s^J7-4O-@_V5rA7Pcgy7jsjjeDS`_UpDCl zA-n}hyA;C_#YIKA+r`=5>#M^B90~zGBIlJ2b298)ZSEW6Q8dC9uRT2t)-Dd#Mw;yJ zvaqmx#w7EYPXGE<3q;A`VJ*`;1b?#plwc5nQk?kvU_OnBu=sCl-O+T~P5x-;ipS<; zK$sU#3McpJ?ygJoeZ|6;B1hg3NOxD4+w%{9GiM4oohBOPwcUc5^VuKB%gc++?+y@t z^5iGS+QvpiEsFh$@VJ^GxvyniRpsEP7?PyZQjBy~Vdwp)t86vfz=8);(VUjYe3{@A zEIF&c>4$2nI<9&5UlH@U1w^_xPtL{6CjE)AP{$lFp=H@fco!r5wYk)P>Xrp&U zcW4whQRum4!XI12@8>4EVjn8-cpVPxe#@`OAOjD)oLUr@*yGGtWpqN~TCOqA4rbMp z|G0m?v$Hef)K*D!_HA=Ve0gv3cS1sfSc40YadhZGyLZ1;3sCf!ZVuB9Hm`exP}%Q# zZGBE{;4TQWjwEHduMZbjC zCfQ+zrn)IAGubUByXngJX)&4|B-N(@>eIR}b&n%tto+e~a1Za}y)J{8M8%%EW}n|h zGfWCcD-X%?Nt)7^g`oianQuKDH->p^O*gr3~7Ln}}Xrj^=C8pxsbm0phq=LA2tm)OK6wW;?*SDXeim(SowtQuC z8ISoSu)uatDe?@Ul_tQdC zS8b|cwYO(@K-YZ=Y7obvKNOvYTPcgyeD;ELmZ0@^IZt=-%Tn)Xe1LS|N`bi(_>qS} z5gQTSzedwAbCB(yd9ub0jmhCJrX0EKO7zPfSmXJ$aH_XOH)X+)%bV2#~U51IHAqq^uVT z*s5oV)q}UqvK}&j)kItKk@{rhA|%Q{*nl!d9;BW9QMzU`L1L(nC0lm2tdb<)4Lq?p z($I;!m&WqZ_P%05WP|Z>p>hSy(y~tE^17BS@iMoSd~y+eGEh8tOZ3fN!j)x0e>K_u zmAZW90?Db2IEG$+j)nFUWx0S5eu6&g^WWTKw{j`nc&=DJJ)*x*N);V8_1`3GoGi zc!^LXY#6b{baGca371g4F&(o;19m;D^gea`UABtboDu90Gg%FE$)fLs?4bIExl5-;?1!T-De;#^n0A&z!d$aaSXLIp8k<=#7 zydSncg2Hs2rGOR&-u{V|xNd1_IV5%Y?1tj`^!&oYD+dRM9vao}cb^2S$EIp(K#iRj zy4gNA9QyIfs3GSjCcu~HYM~^2_VgR$g0udYge~(w_yh$HmouCkXPXYAgy+8TFE3?f zWl`xh8w?AE1J^pv8=eI)G63BJG2X^7jVhykeM|aFyv|k?Mv`H;0+7N}nv;o#Uzq9ki#N2~W1MnB{SvWwy#1NvY zL;#!JACmfizhBlvSHk}6TcCJwPG;t4=e<8vn%<2+)XV;gd83jW+i$8Z&`uvI)*vM%EoVPlU46rmG~MRk#*u&J z#sAO`q0L;bOKAeex(NSEI&!$_Z}s1-EG$h;O`{_puOcBV>2(~!RgF$fEzLyx!DVmo z*~^q@H|;?#caD#GhK7twyjg~gzNh78^YsoB0RJBI+oZ{D&BzVGID6h!5_dq3~{8h-UJ-&ok2W^j}lB%GG4_EC+wC`5AdUyO|pO~H#;Jg!98?FZz6T^efhy%RB3j^b$rBT zQhPeIii>Y6q@`M4HfWrDaTRdKwFAo@V z-||t8e?dWG102NucOz)Teiul*{lH>N8k z6zZiDeYT@(zzmj;d-D;|4%u#L00L3NydTX_=*5L!k`j|*Gis3S9+1-vvq6IZ>)oDd z*am`>IqNW#*+LWj=Q2FiL=*P-zIn46#+rTe@+s5d2T%ilJP&wxSw6uBhNt8Otz3Z6 zP5mkqWcUiejq~_0CdUcP|24X_c*~Y(yK4q8~H`Dj|?YvJ+X{L?c78{=GVz| zzL`>(b0@fW6lcX&hm2eXKZQ%=l$Ms_5s(m*knor`CHlpX+)9FN5lEtVZje7J?p9)% zeaW}p)j+Ca9hXD#Bl7grI?G?gy}T#V#SK~Ixm7>mcl?8)=w)fst>8qK8c+lFTQQ>Z z^KY%JrbD)6B%8&@Q8qElO}|>*pNt`znI(7aMexiO3lI_ez}0Eq`A(GD784!4&h<;= zzlD>O(aI4=Du>r3R=4ex4bXA#U+4MW>z2~Fx?G=+h;Z4QtZ8p=7e_Y+`8kP%CBbHa zwN{1R{t>?G97_8m$e-$K{?!)y`AGa2x%n+=)u4EXt_%$bkV^afG>iKqD5&A|n?@5N z;Z9tVxQNSQ$6%H?fQ}tcTLPFh(Mnge@Wkp*x+S6S(BinxgH>A~_qh8NLsi1c3)_%0C?@7VX%tA%l6Cln@Qo%kQ0 zYJ$AFO?L z){=$5IlJigKkLTKf^*apjDT=?#XR3t_+ydP1~rRAmuExn>7&5P;cq@6Qh0RBW3#@U^yvhKB9Q8rfo{+a<*a1qFpeJ_b%?0D}~q#6b;7zi@%QTm|Z$ zA)L8AH@ZY($zUH-5beMQActf6ZAa4%Vrpe-5-56YWPlT6B8)N-VrS0?-T~qQ=;G{z zRU>=U?xpU3;o7@H3%$@Sb+IcrVIm+XSUB>@`@hJ2_^}l6+{tNMzwJ~v>*3g6gki&j zsjAw*bHbB<@}w&ub5f4O-C7kz0%R$t9b_7-*GumKc!>@CMD{9%E4H=Ky!(U@jFC7p zu(d5#?+Bl!>#a}5c64;)%S8Y__;D7?*!w@o1xU*pUq$o1Na(e43skh{20sxJ3eiP^ zM6+1PW&h!f{L&yqdo-Q+^vsOZ@d92J3t$~rc}gNAzcdEXUZz`q=zd%(3 znoX)+wc?x}z~z|AQ%u9n?hI~2`^Fm8VM z!{x8FNcyx20}$-cJ&>g<{3rQ6sEmV-grQ6pie$&z>tqjAtdTQr$M4IP1T1e4SRUQv z5Ead)4wUmSn^K$#X1Zk_8Cv$Jo4;J6%=;Pg()(d&V;|qR1}Slky;g354Cmgd8>fO* zWVzfqilnOT;uP@ASr13Lm7)9JNM#YWK>86K4gc1wn?2lVmW&rH5v8vTy6ii(XGZLP zyY#ZGaJ6>TN}N}^2zN8T5R|_fNERt6B;+xst4{~mMRD)b8npOju zH6nH41ilnq1&Fad<``ui*;o;#7$ELMVsWV32!4IMTp!$muXJ`=M1}hEgLMUy&|If<90uijNtlFic0z=P! zLShF?5KzXDKnQHJAmjU@pvQow&Bk==#jnPuK0{fFqoSj0d8e0=-vUFWsk zMODLpmtEuOaGdyLoBw4>>%n8QOm<+SKmsty1=L3UBKgd=Wj7RGqEB8ZqaP+Iw;V4< zG>d3IfVW)tyfry7QB2~)wP9jhl7t}b3}?;u#Ko&HsJABvnfaZdLg~E~ljJj-B-jgB zFmZ8lz)6_GJb;OBt+Rtw!){n~`k!iCDlr_XshOGrl{%KyEVIn?9y(4*%p#|8mEnVw zZ{zEC9qq+d5Ja&8w!?Hejq5^n>Q9%>RE#h8Wm~-4CQ?g!=@#C1AhRfKl>vZ1?>=E_ znDjhsMOjSe64GO6cj+Pjw%0{)Qw16v-(T3#6q$ zBG3u|9b?C$&`jy-&$lhFgG1E58fS&R3ZHy@?yAG`-Z5Wtn1<{f0U3vgb#cDSQfn z+TOzkuPD_jrHBkq?!k0&DH| zyQ9Vaz*li~rHf83diq~-sBfUMhrWH2c5-s!Nm;smOZqJ`TUE6GX+8(IMw@U`QqZqX zANkp5$^v*5nZpj>`5l#GpOF!CLG(;C^UmS91G|vlWcEoKzNdWC(6c&4cNypeTNzW&1+X`*so@H5_Q50v?h`;bt*tcM=Gb3{mb6=-<*J-GQMoclKwW@Bt*}WfE zlJFV+wA-oGC!gwe=Q{K1PvZ#t)vU~@q_Q?e;&{<2NBlEJi|1}HrO~H}JVF{^G_x)% z$kK)vE$z3T-kkK{Ih69nEXN+;jsQyOm!aSlx>QecSGkM6SS8U?$OAhi>t*dA=KrQtz zJI&8Je-)~5CP4O(PewjAAv*gwojx2e#B?ur+SNZ)=Iiaeu9v;qzdOP^aDSighx<{Y zQRf4H&P(rELAX!c(k3`=?SRXnEM)Mwlti#AIYKMN7Ba7Q%Zl{`)U9MTgs-#GS}7T)%KB_hq+%(25>V^luJsJUZh1~t(xbL~w%jzEW z?6c9Z9b+`DX#Q6ghQpw}g`tbhp)xkir=HhEcin*+58JwRgrb=Lv!mQeYqYbBbIE(g zb`sEBnY?fP!*Cy`?;_Pr7bLrPRNM)kvoPE7k6Lx+%Szd)BOFd^{a{mYf zJq{PI_x>T-8O@=ii<#DP^(YY#oSbiWJYC|gSnS9>BexooH61!rRo19=`Y{ceSe$Qh zXt1d9pTKzyw{1JDv@PU+9Him5(c8Y2X4_g$p3zM<AA20;lKRH4jP(+Our9{hXJ+Ft%+w$;=Q`&Z%((I z{KWyLqwXHy-v6jrq|q3^ea1@T-Y+arp3W-dqR*Y+KK>C4fCNqeXL8)bK2rOaIQhud zbFCAp0rdhie*f1=|2cAAA~WYN4GosBC#pJgf59*aL>ki+Lq&0e zfS}wbr|0HB4bgLGD1o|pi?<-f6(1x#=P7G#MEYO6rl-fOq}d zeQv`Qt%;!SI|rC;l@y+_Fs2UQWfDX&cH>@>o$zZLG#YkSh>xE?@HaZa+|1PwSkQ%m z6>k6YU41;-V}Kt0CCC*B!UTdQ!k7#m0x(ml|K;xS1$JBN@@!vh!an{H_$&=Lk~=yO zhlE?M35w!KNkKvUs53OUZDg%15YK<+>pNf%hp`ZoZ&VwPy=354 z{9J7c85M2IkLrM=P%MG-K%l{}p5r~C7%!>mEpjUu(l|u^f6CvPM2@`+AO# z1_^DsnTU*-)^Ht6xHQQ2&9ZS5kespR_}t?qahs-K1Czo{S;JpNAp*(;Hmdt|Owss7 zUCusY3A!=Vd_R%}Agn5=T{mCIjzc9eu`;u7*9|-4&rnE_?}jgYQ@Q3 zp!$FYPWgcHb{qw{oUq|aS;SOWSF( z{70E?3ha?iK$GS@BQ#Uriglj5pzhEEkb%*OVhJngnh-_-WU?NZOhUPT*oF z&sEyTDW*Tp%M7j~i`z(nHFH?~S=RA>aXouF{>(cOIDjN0Zt(_NEKu|#4vHpb{Nb~;KIX^VRzqT`F zmWBtM03>`sKp*SUK^DSI<3|(6wn58 zDk^>JW92T+YZY(a<1uIi-KG&*{lCW#s;c5~-)C24<}1)iOTJ47wNzREoJ^fd;?rZA zwO0AxVvl-FXK`qWfF$1!sQKy?T@4;5M|Yed>?G;6_X%Eu2cHePav77X7$Eo5;V4W7 z1GFcQtdv>s$mBk2 zpmXc%b!Qn6<9+C;c!;^VxvQ%y_aHUyi6BR%K9ma;&F2=m;d|I?>*YGktqB5eV4XBr zE+)u_i!I$`(ejsODRJ*Xm?t?OwY9bNE^Hk6016W$p&NPZIwWB`Ux`D*1U6twQcg16 z?!TKo<~P70(6z5pjkPxGIS}x8^ep=(-U08*1ah} zp*PIme(3)gzOclM`3a62hnQXJUw86++71s+2PBjYkDEeP@q>67g5DA5yITk=RUoda ziu3c;$(7CLPUonq{^*HTF;k+B4imauXK`8*fe7*59$8KL1b!8mz5$|TElRA)H%Tt~ znaAU~t=>$>QJGLNoDwG6+187=Sa4q$;cgrZW3PmM(?aCS`vH0H7y9R$Gxaewx5wav zX7b~56}RLvF3vIz`@n~LvkGwzN3Xab8{xD7C5wejEx3mneGL)oqw`zc+^nda3V4>- z!C3K_bCjcVofcag_>AfCOVsIVBAGy4?Rxh!p)9jz*{>fFyCqo47?H`~?E+A2w>%n+ zK8nR^WeU0+>F^fB2GA~j;M#uo$xOF*yp@H&k4{3=2fZQE5a=Vgvivc6_s!d|O)X^k z%NmdEv9ys4qfjxj>lYtC#u`8~7*f5kTMd}4nd0QiylfC~6G9o*ckNuOZSVGu7?bB@OIHnqqu+$SvR5g0cYgs*C_ASy;OxKJuj(X6cJQg(Mbni}8#yvA0 zCh$~5&pnZh{JqYC-F0H>xpE;L4@eAsSdzH2)DygH2pS4hAj+-90p+`j50a;lgLUdO zIK{bPf0~dt^n+7eq1gi^Y&fAGl=2NQvhHzvx1flA2K!Q(NJ-mKAR=Dyjp zZ;`&>JLUC=nhk*SbZ5$LGCc;*6O2>hLSyxM>+bvT2|Zepf}U`xpWndscAC=fc9yz#Mval;6SXa0>)e zW=#YX!GS_I02eBON&}vNV7&P0hbdA(jW*)aC9xC3Al3SAMyUQR&VP4Y7rmgJbDD_F zF0*DxEe%GvxGmJHBjy#{T}aQgi`CyD8nw8Muc3IT7#N%YCW;EiE5MHNd7A_Q3i<#Q z_B!$c5IV$u*~Am5j};gDvUC{bt!%lvTSDTqKm8U_8iuIpJ3T$^FD5c!_m39&C~k`D z=^pt*m6B>SZ_pGx8;qk@G8=H)Z#m8OLA?ZzO%}u10s(l=YlY75GfEe_YA6S_lqqhI zBsoKwU!W=s>kcM`1tpFbg06%HfERXm`EpADTosIn2q?~W^ZcwE;g%DB>fNuWrU`djVSSldP^Q;t`QlS}dl3`i2?ML*}%{Hth3*MAqER&sd- zAQ&P_o{nqgpx(!T>T?ttCBJ6O8on=e(S7+7+k#uhi7~JCeIj4ex<43`<4SV>lC@!; zf-T(hmHr06zyS_q&TiI+g{KD4)5Z)^CSVNrU*>q9Wl7s5;$hQ3IXC<oY7 z(D8}vJTdZx)H)Z&{azN^i%n$JVwo)quIMl+Tw?A+B38ryRGT)9CqbZzmEi%43ECyn z8%{@VWMssmJl7{&1d6fLMDMahA{e}oapU9TGqe=kMmk4q+&5A5-QTLZzCrJw6}{0# zk`x!@{BpmBG6R|vmei=A)c|<>{XO_{ap!2pX@f77MZ}REGl}nUxYaP1zqmXK5P^_N zdc2^ro|fWb)_x6BZ8Xqtu>zE^WN*$fUdoZ9=uKtdzU_hdMq7YX6&H4TZqA^^cejR}BQ$Fa5S51%di(6`i;t_?zT8^p@l?6)xa!FYQ4eZ&Xy>xnpDv2zNY zgc33p^~8XZ)a{l2gb~_Vtl!aZKL2_mu`x)EdprJj=6jxVuRv# zg7{DLt(c$XMEBP|F`flVf;Y<9zgD;;WgeOr+8pzv1`xqsv-uDLLP1RLtYMxvdmg9v zSY%bR8crEh_Ell_`C%N48pYhCeAtApK(jMTi7yzGR3rs7zDwm-T{HzZ)u3U+*b* zB@M@GG42+6T|Ylpr!5|Nr`ohPuk~ETbT1+0&O0FF%h%A2%7n`dPU6mnw(~6-$HwR7 zSs)FASNhuM-pG(%It`ZnF8;iojj=D;me0?44|%FXiJpulIeinm{fXQ(r;J4oX;$Ke z1KrU3-el363Wb=84#@VHzKv8}mr|(KduQ5;s3HB)?7q8MH)LP0jlM;+xjx+sSetEA zgG2G(Q}6N&$w}UAUh@&@YPs>w&*%pIC_{PsfwBE?UH*(_e_zBPBDe@|fT-7W)MH}3 zN5mX$#!Wi>?p0w-_))E@qp>I;K>b2|Tzz@i_TLl_dVSs8z5rtSrg@JdV3wMA@!lUC zP^r(KDod@m@cLjY`LskAztD0$WBsOIdbv0r^uaRHn_zfp0S3_0cVVk)6|;qfFo?C8 zn(dFKF^?O{vs=RATsoD~T;`nKj`j}5{LB~qvHqqd(hY*~5Pkg#;%vpS6zpmLW>K{0 zM%}>vZi7X;e$y*C0#L?84>JABWM4#`4L&urkHVIR$mT(wz80Hn@TNAOlxbPQz#v7H zi#O-wyF;LJQkVj6T2dD~`)s4qgy?nyH>n=m9Y!SDgLAxULR?34UOxCGAD(zYFXFMR zNcn4rnMFqMsFR&tTDw}f{bTU!eq2XgP)-X|D5{UbvL+T0e4qk>YI=h7-?_T}^bZgS zCChL1=S~!7e@+FJ+Ut2Vf7~VfWxC)@OYyY^7H5qqyB-r zWLEtJomM72zAjB(el`I;+i%Pwt;QXgmZ#Ny3$`{p)9`;a*U9nwrqzBH@mCxrHnmO% zA z8AdSm+!vLZf9LvIzCb1$;VXgVD7Rzjv97mH zcI~V3`b_BpmHBu;H)?)Skg_GsxWwTUw?)qsXz~*l7N%?_Ff_CmbOkeWzU9&3Szgnu zOcd`ZOH9vx6puz48R(kSxY(d;`IS3qeU28N>Qq&)G>Qosdu_Pyd~$N*WX^sU0$Y(i z=rU}NgGtVpB*FEm#t8pJ2*|V6y!DiVpXFX#o$lo{(b2&bS?M8(af!GC39xG0oZ8uo zS+6F%b;?*+^~|eQ)$o-20q=;u#LF=uGj7lIc5Qfwntd#pYVsQHS{rCTk2nj6FYBXI z0PE|g7-jR+C&L<#7T1ii4`K!)M(m#_{^K4`gs9J1ms4WO6EyPBtjLp1&@YH1i&DeLyG4?&Qj^@}Kh_-Gm`8nFsUs@D@kp^pa zTS^u?@8jlc;bQuPn8gtH+n>zX^vsG*^*B8DBDX4SW-?JoC!Iak?)ltSNdhujteW+&8bNTMCk|9FH+}gNP{lvir9au&QWo*}c!}bNtWk znoYd;`@8LZWg)eTS$2);H@x+70<=d1`d>*_+|N5>TD%0UL zfjF-mt*vA7(w#NWgTzffIXQZ-)7Hu~&r(%~ZP5Hec!RK<2cuk4k3b#X_9`?sV|MYm z-9nhtR7I&jv{L-r!Rzr0-)Q{9u|T%H7TJx8?-Lx2X08yoLF+j|uzO(KNm zsIbQkTPpH^1)Mu8Yp*JeZf;PGd~`{y&-1yQJ4L)e5onPkixqF{xWAN(pw26Z16^KV z+Nyb|GXUgtB}y?;*{coWd7=oSdu0~d4)XVJ<9X5uU^4gHbH*%FTBcA^V&a99qB*H>C<>TIj`w+7~v)y*~TlQ{bvJ}F5mx1_xWO8=9G-{RL$n_8v{fJf@ z=tvOxo{^E^o-gv+&uD+c96JpFxU$9Z4M2#rv@$pD@vdWOFPY-SLxI!beFkyPMBoB_ zcz^-s$wB~4s=|Y?H*?M785DD$zhv`m3kaKd>#hev^_gsP!0ifBb7u^a2aK8cLno_H z10dlz-7(y+-nw}}cE0MrtC@sSuecuiINCX@g#IU-e192=8~*lLx>@i|t1eC(7H}lQ z*47qiu6?z;;)7eJ^_H4`V|J$iXg_$TRxi8g*?cr!m^#J;bPe92*&$V6#Z$xGWoY|) z3bZQVrR@^Jv+f6jG>Q;d=9&cYreGN3ZrxCtpwsgW%BF4e!^(gtf2n&V6#PGFnh1gE z*uXFE!zI!{+iPoDltz|}7^llwzy4Y&7p;i&jL@{CP~wA=tFDWFDtwfBIPf12Xrs5b zwgA3WD_Q*DeDxc8$QQa|xgyx$pSJ-lz~S}pM)Ne_zbVkNXT|`$)-C4z_=U{2#gV9a2)@0hKTlkpx@+ODP%+OpJ@F;flu zUF0zRGN+|zOFPH$+-+mbK(l6b`hIwLXMHIRP!p>tw>mGEbal^NS?!J=;?|Y5lYx@q zL~lLlm7plWkh?GTr{(1_W+u2XEhi?!^5sD}JU}x*P*Bk10#ML?BAk+wn)>a@>(BgY z{ilZ;SEYAA@_ojr5JS(6WnHQBKD4i(BU-h+G4SXn(9xbK4$xLn*V4@z98FbJh=`57 z9W=7U@WDW7`xPMGbZ&aU{&b>~e1RSpAP%2jatMrTqF+cuwE@l-eB;IqBV%JM7ONui zKn{=*g!}|J;g4&gXF%;y$y86m*@K#aq5A~SVc5_m1jGt}=>Smoe91+>e6KISi~sZn z?tD9#=o=Er{M8v~IY|9<)oN0Irzy-@--Zp$1UNA^uz@bL;sT_f)3&+34)>?g4Djjy z$rsdRFgj3&)_T>QL=Dfn$%eTOr&DMJc}t)q`S=13zcw^bnkVAFA4LC>hvqegv%EfA-{t4-~v(P?1uIH)`Q&m@|m-L}B>Q01m zIK>V|+UEEkFn`rNWmdWFAxuWL9tJTs^op z5Jtb|=eOs+KHz;6tJB9*&?#k*W-cnl`Vu(sJL1sdI zgSEyCsy}JU)>|Qkle^$_@DSCRnVJ205#5RL-{;q}zWIjpZl{E$BRmAknCSNxa4(8XGWpv*f>}T)&eb4vnJ>Gu~bCOu)vM=hgv!z`D?FtZb475*_JpA477q^R9;03&W3F?orDE&r#T_tR) z7Jnp!+vPQ7+m&M#0mWY`f}8w>9z}zCy7)BCY)75(r*dD%G8f=qW+3KN1(4dVXZOH| z(lal0V%Ru;Ij11tOJ^snMlbOCLwmt0IyL9IpN+X^SDhk_O3L);6^YM29~-GxdcHX5 zT)E7fU^eZ~Yu8K$G%3~XFRILT5w5-Sf`(qO`MC9)#aB1BoxWdPe0{3v&m0SU-s)Lp zZzO?0FrBqFgg5;L!`$EBzrEf6rOm5K0A4)+I*_mjR8M}$Owl}~7G#~xDYqRHQW)jc zkY*gNcx+b99!KmkA2PZ{g^LETf9wU@bBd%ny#dg!saTxB!brz?{PzNv0j3!S7!#U*MV+#wm-4H(v zj-*keu^*QN-0=}nd!|hVt(*0LFhmYAizgnp;@#8v8x?K%np<$bnS2X)J&X=Ii6DjhWq1_`J&wGhu>d&ScX^{ z-=63wy;wsgsZiX0I9stPARsc2c;%lyd9D%3YK0kvu{B{yx@<47}Vg5e02E`uo_av1Pl*Nfq7~-|jYP$L+?4R1gVz79DZx$S%*K z3am;YsCBG69s{YnS578-%_Qh-zh{=b+we>oSR$RxV@Evt<%Qm8y7b9{dp|=+m;2$; zv`^X_vML>5ED?d84T;@R6dY66#pBteU`daV;Qi}P7@W|IbKlu3jPH_Q;`ZJQb#r^E z&UTa~v|;nMnXTN>Js=gRD&S{HV{6e2H2g^EyMINQ z49N5~fPQeZA_%_cD=3lq?Ye-icmen%`2k$-saCK!HuXF7xfzbK6UfLtcQ$|r!A?O= zSEdUDgZ?Y#JcZisS>s^HKUlWb()Wr5nB86Ymu^S`GF$bw!qB2i?igTIUJZpxP2dt7 z&ELI!`(tblVBA1L1n@zxgF$KaxAnW>3z#u9bZB|mzW#v~InGev4+2s6dg{PUN^*{T zFF26(aIiVN9clH1!^_ZU#@-Degj5)Hwnc-&*BKnFSq%Aw*NP34^nJ$14etOUAqrD) zHNt&3<;d$viUGHuxa9H0^A%;UONDRmRp%QLe|I812<|=U2LZ6Ax~k$R2oWk>SIyrT znhntX>zFTeDQGkiSEQq(D=aLGsS;eqTmIu7&Nxa4NQZJPp>fYA>J1=+jK`<1N9~-F zABoc)5Gkp1=gu=_DsCRZSxc&@>5YalF{2>-{9Ge5`P4!!wU3+v_}@pyk3`Mbl!WIV z>^`2aIOPpvz==G3IE=;C*-ti?mX`Y0yUSg%)N;myNX2ggYw6(Zt>m=n%2 zMpoO54h&gBb7Ha3*@EtJJ7dRGIIq%|*9I72J~E+;{ofoVz9k|lB7->vI@=92r7UeJ zN4R0)xNWzPu4x!2ChW`KMSJ3}RFCO1V`yoX#T= zJBum44X%2lH#J1H6<_EpR`_|p;=Cu=HI_jZ^gMfa71a~Jsueu$q4(_sG8n3|zRvG4 zLb>n+z6m01X%U_9Z2gEsW5(7MG(Rt(m=h3trL+G%`_TJ??> zTM`6~@FWg<5;+qevIHlc&GECf>Uz$`&w6x)=Uq59}T;y((6Xd%U?k5&Bet9f@#~$3dX)Cc(IAj_OWuL2PcD+rmRkc&L0!6 zobTIoV#jPf;SgP_sx++Z^q&P-v}|duKew1?=;zjR+DZyVk~FNJ@crkVb88j#ZxBYv z&D`OG9ivfPD;j6-6BfvJR#-Yzm#7>ve@2iXpw8y=)_5N;Inpbd@^~fDJtvSA(r5ij zp@c_6G+N?w7BDr_i_gpHOBdZ7);+wg)JH8<<|&P&)az19)+7E*)Y#Nj0pq(*58r>G zE08aUJYEoBBKa%`5PeM`9kVg>3kzkx(nDQ9W(Q^=Hhnxq-~OcjcQ2Mot+c2`K;9Mr z6K>RtHsRdkygqsFr-k72q3`? zg+-m4AbrELqP%=H1d3-X!%f%=Z07LQrYN>6Z623D3GkRpMmc`a)Q)LRpRxwl)Xsw5uOyAa?+)MI7! z#!{XHeqyT=Q4i!HCQNnMCP4FsLZQxS0^eDD-S*i5j8qRrEiHPlP=9-0OplDnqF7^}9ST?=~j zw9@)y@L-`sc&-E^uwL#h(?M-K(lxD%#VGthyq!z9L*SR|p6W}8S0+SN!fp$jNNSMz z9pd{2J_&={ANfLeDyzBuCN6(6nd~PONs|L<D~xx-P>H5 zR#e=6lT?a5d0utu(-VzG`X?8tZ%cW5d+$dF+$N^VJ}_o+{Kts(j+;2Hpv1AznxnwxQy6gi2H3nl?i0OYYkD%YG1v$2Ihk|gxuJo2F5 zXs;g^ZB!J+yKP0K9t>2mBD>2Ug`QlIxP+X}C<3y>FAV_Ea*w8UTEtJ)jT`^qJ&|IVTr(6xVlg8niEu8?^N6m*fXn-*KpKDaH_>|j26#mPpo2{g|8#GA{gT656l{>DAUZiM_tase1@x0j zN?jmgcdiWqv2#ULm5Yl@2yjQZqk8J^i}!+b9I$74*Ug9?19f0tQMnp=`tWx;b^?&i zP$Q#hTWeNtEH;)8dF^`G6JF#J7P$&M9l$iIva^-Z)bxZs z_q#y2B}nd`z-Pu!BE?s9A}MtZv&Wv_Y1zH6tUw$^0CxkGVJk>VUzhQ8f%qpaB32X_ z=FZ*AbiFj8^BI$yrQ3(VXRKTY;bxa3axyPb)W=|rT{h9x)q-(?8*qk+{{H^ZE^FNr z;JkAQNb72ga@F-v6uc&>|JJ$JljSQ(Ci#pBW5YuzO;q~<}W(jQyA!x^K z15(#iIqq0ELN1-W0+2p$;1HBoz$$n8T=WiV~7A9*a5&6z6I-CuUrqP65OiqM}BpZ1z|`;rvm9|h|(kw9DewL#lj)-F^R#J=w169BYbV& z)?*c&5~|+nvE9W=s?RK59!pwXB8wmILa&!zV}A#KDjMH4G1fcI0h|p6c)^;hOr~_-49Gs ze?uiqZm8k`C!Ltt2~tH$v@&J_mgg5SoFL6dkqodF9EKRS*Es^iphGnd>DyAapmGe> zDUI3ljsH48Hhc#N_uV#^jX{nTx%*6Dg9#L04wEdzs$f>Ba%?Fu|NGJ@SYlr0FfCR2Xu9kF z>JR`(i3wMK%M4?o`7(veP=GORzcH*TE2@&}&Qj7SP#}>XdM1Lxc}WFFYW2xBPQgm9 zVS4soh8dbXF(`KJ1&X=iA1*>`ZUSP@YUy{=gO=Xa{ij=5Sm3m?@pCvm%EAT5xMS}I zhX~yH(SaLNRMhn*mDCxdzTP!@p2rcVtBtfl7WbVm_1mA7#1-XVKxX^gWWfCOe&z1r zDEkV}mb`3r=ZN&hYj|B!zPwmlu(cblJmL$DUKYw=K@zZ&?KXoWB`tK?V zR91eyqG)5&Ch33p?vr{@Lx=M+Z*RmvG<)FsA3c+Tk3&+oOVHL-$xvsFC;-}fDu-4?$ zGma{>z$W<`AQAc7ut{sVSP2>^KTvB3H;jF?qm}r4pV`0>)if+J@k|01GM&WB0Kf6Z1 z-qyH)ctJa181vz3D3qFVD&m)f(np2N8~}NjM}1*JYGtMEhV+~v(xS+ zup-K8huuN^$VH>acI{=FaUqsFKu^z0r`6gB%_praN&yrTV%i^uqbzJ2{H$mng^{hn z`ncj48)@!Jo-5?M!b4~wPAaOB$Yk$vS4?Eaz!8lsww19a*_8~Kx_Iw=c<(U-sD@U+ z?3e)jVh@iN7xG~c8CdQ|N5P?_~5c`i~{Dlru!V zTp~79lD|~5=OUQo_FHz+iPy4AZhiLNx1nLD@KAo$7cDJ@5#rxXOsRew*tJ2O>`*DWKqrA^Aj#Qm+7k+U+n$5^Pb|351BJC z7pf@)KaT2leWiD9X*Y;YM>^GMHQD%4I+~p0Ou=3yz6{{p{151h?(0~8X@ZMz2L^gQOytxDFTfo`x2;id+ z+qutvmypB?G#3wnj~5L5cK-M`bq+$oi{c7e;JE;FF!~@r`_E~wKkNYd`&K(&S42IV z!V91fgMV*4nHUNROSN7^;?!{$L1uSt+#=C=Ac%pJW3X0!-=JT=!PI$(S@j0+@Hs&b zM))xSO#%O)r2o0+c%7@peUwR8lCaN2r@-7&=_yp{0*aj+ET-KrkUL&=QhOpHG*cpD z*E^Rok)?38_|1L~Z}ZYn(Z&JBuTCFtM_RY*sl?p%{wAV4vl~0sskHGzGP63*{wdcM z98p>HntvK47WLH1$_k_kKDLn)ge4HWuAD^Cba^M1oCOh3+D(KpT1>P`d0YBY7J=?U z>WoN5f#j}0))rkf)2XX`h}O_u=MEC(sCgXddUnfAYyS4R!6y@;I{{m6S1ErBLn>G9~xBRJ+##jL&9UQV3 zp#NUJ-%9e#Op({wiQMUS%%oYDNG*u>tjm^Sy~b5;V5TG3{pwaV>FUz@_M0Czh(o!n)5XlMvjo(`2e#D3tM zshl0eS^Z86|DpJh!hbJPJo;~U~w_<%4 zgtNVv0MX zFo`RC%krE1vz4sKls7u_cgSZrsL-q+-o!I5e!2vbA|mb%deYR_*9UqQgnl^u@^&2? zLZJ&s1q*~;bZ_AD%h)|f>xppZLS)nXOf27I$X9r}UPX&mKu!sO&6fI4Qq zC1`8ZHXARTw<0aLvt(Bsfrqsl%%$t^kw| z?E1#WtoPe8EBX&8?dI3|dm9l2rWk{0p@v795a+g`WM~?gcCsY95Hmh9m|AxZsqMQDoSGnR-eP)9X>!Gxc;62 z-oU(mqQJAY6LU(}=#WGpucV|TYSS{|wh6a(5QC-(33J}xOIs9ZjD{a47gJ^lEq$#B9*KxCfOUYee5<@R~ z|33YGa~p630MH9i9&Vhto>~G#l8*wMSDZFG?7UvV_P3G`bh5h=ZoBN14;_yuV6sKd ze!V`aXo}&1V513$>|crMMFG+)u$h2n=wPbt!CYsTh9>W1)xF+cvBZ$W3KcRSl3*6xr;xD-KqY z28n%s_rrLynJC9AljnYTP`655F1oFfx%9pxsSu9c><$pg2xBCgu69dCAu(dtTIF!U4KFHN77z=L(ePl4kX{rz^)LD=bwst|H9*ZwCudm8#J2+ zR3Po3k3bb3os~YX;X^R^j=&_IPQ}`Mg8h?oEWjT~>TOB5x!&X4gq4hMPkZ`6*r|=O z-!w(=wRWPsJc1zSO=`#IAC=m7Cr{%rct;fu-9b!FiQzB8wYE41n=v+RuNbh@dzXZN zIQpwJwGHeLq*^vdQx~P! zr_(n!a5EodJ6t`5$~u-~bk%rjXaBVYtmDfCN2HqZhlHwA>eOnRRkU+q3rAr4Xix{J z>F7?0x9O%hYrjy7S9jevyX<<88ln(ENL?a}LWp-bGPzazvLSj>?JHt7p>t=n@FrX& z)xN#0-DQ$vW5hI&<1V4t<+xMKPw>rEvmV3o$oTb0@5oBYESHMB`Dm0H^ApcxY@*gV zk=^`!&%X|~ndR2k*T?rJAm{iIRzcQKTfg1@ev!l1JEj@-2g21=!cbNVVl4O7AmIeo z8vog{kq0q%>Ta6&2l`Czh2DEo;IS@1j?!;V7mV=AQSx4O=uAb76>T{W<q_-96_2xy4m7LL@PIfC!(B~Z;&h9t?#xRmdWvY@)(a&6_Q~+u zFJ&y5)LN)k#q$qyM%hXQBL)y52}YzWr(hr~>N|6WTxm*`@`m}^Pn)avG%PcZdqS&* z6rcDVpSCUjW2{Xx?;8J>pK+>6vG3-ZP#9+b^>~>TOUnXlBBkFKjn$_gL~=K`u^Hxz zZvAPgNLhSVo}#LxPm+eH)o9-ttxLzxsWcK5=aBD;hx3wdTy|+?omAwt9#BmAj%OKj z{8X*vr+|vKYgT9&{eTL0!jc<7r8a_QYTG&4V97)0C-Nk7N0ZSdh>V!(Dy4zS3C zgvcAnYJh_q*gzuYjmp?1&n-5<1O!5P&h-fQC(C`cdjonTS4{eV)La#a^flQDGayMM ze@tvq60tyWk{zL!iVX+2(d`r9ER|5`gmR&h2bg`pD*_Fd`$*)frHTrQTXhj#Z9rlW z2=+mV^lwYN52%#@&IYF+ZaQ-~KM}X1AvwGc*w6;VD7KuT?sj&?UZ{7>fdD4PBr4+v zeCOju24sIXIus_80rQ?;0RLw80jy-O;)Oj1t~X#`D%n3GPej6TudPtz}I)V#^J zwxLG6Q~1=g-lT7(33C@PXkL0OX5L2V@D8`-P8vMmb3NYl2}UZD)mx@16wK#qcQS_O z#4g&Ehfewbx9gKY=z7OHM10;E^AE$_KMTLJ=6aYW(-%#%Qt)ftuCziMltBV>W^4HA@Dt_+DFW9e-K2gk4gKh_xqgR#^kVMxL|ENyS>USlW#_RD$9o-S zXtSnSFrJBHP;64xbzA*gmB7(Z1tCCU3&_C#>sWln3(Hh}!Tg#z00do_F*s56_?DN6 z*^(GVod5&*wKk|!oMpNQJ`%Aveqf|in=t(^{+rRFbN8T}?#xzGiXqsa?!*aMNti^D I*i+yC1LB%1WB>pF literal 0 HcmV?d00001 diff --git a/figures/ifccolumn_cardinalpoint.png b/figures/ifccolumn_cardinalpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..bfc3cbb55a5c588fd7dfa461706feb2cf5657dab GIT binary patch literal 21381 zcmc$FXIPWX)-IrkNEfM6M2hs@OAwHz2`GpN(vc1#9RdNACZZrnuhIfY2LUOe_YR>W zL_|vHCA3g-9`xONfBXA=u5*4EuaM`NSu?ZdUiZ4!O!#9hb+Q|bH}LTA$TT$`=-}ZI zWaHuC(_be5{<1=Edkgpv-%Uqd8LwoJ2@QO?YNG^E!ow?%A~`cB1ill$)-Z6x!(*7Z z{D)6J(z}U=r^~4MKMt==Kbl}4Ih|y_FUP>gLgz z*&j23p6KM3mOA@dR{9>jf(p=wn%_|MhoI^g(?{qK&TDa&(y9;hwEP2TD{v|7DPd9R z!`*gMFOm%o^$g1WPsaEZdwA?;4u=t#8}Kf8hNH~63N<6IfZ?cSfczpy6MTCbdivHX zk6yi-NBQlBNM#V;Kk|3Bj(!u5q4>GUamu=ahW3s z@fIy|{%g9+ujrgv-_iLK#>)*Fsp!ISzWagtJ6m2EdXZBSrWOt6% z@X0q2R`znVuBIcF^8Za2vG1{c%e{E=tv^~HLzt%f^WBir=cxfa+rZ{9G7SvPN) z{rK*3dbkM;cYYb(d)?Bf-CKOZwe?`lklh#s3ociG-Tv)-t15QG(>`?yBU^^H%=rdZ zl$M?vA0HnX8JV6Ar;K#KW`*+pol?$r3~NY7&r!wj7{?7SovL~{ZBZlJ+hf)2Up*K< z(l4nD@x<#T%pH1IS%r_hLzvny7fOg+EkBC1LSp7=UuIVQco|9YG7FoO%yQllOiT@h zLSK4LmKa-hMXGAl|Khc%Xa#X!Jb87%bE+*}P~ekZ^$=3E1u6nogl!met4#jBS8R9e zd-N$5OPS~7T+rxu|+Qra)7YE#@@L$RM?Ihw1N1b)4W8o?5gB+kI^%h9H3#)j3vB z%Xqx@y&k0DOE@}biwbGzcaO;W91h<_sD+P^!*9i^5@sW*IOD9d@6KcvYpsD8mhM#z zpItG?UCIaiUF99xC-4$u%RR3DG3oMJ zK6!6z(0)LA#=Pdel8P8qwo<~2#MSE=`|9Ke=93MPc8sN>>n}T-^vJTP0pfe9J3*{x zf%Dgb-n_wokil1Sm&+m0S@2ym+&ljK-B7=oNymo714WCc*SA0$hXp+4J>m{RiGI(i zqopqgln)GOi?v$#JWnv?eI=hH>U937^8w7qw&0~b{x#epEjdGi! zo0$#}a>^Rdoe0@9HM83(x}W;s{nks>YbG!87ERkF4XNj-$%)MykO;YY2_G~17xZE` zr>%~^1)AL7>b8Bb)h+L;4wJF?6cED4*#vEJm=we?2L%PivNGB`IP|$|MU`Y~8Vy&r zzVJJ~CmZo8oWLo9KLw=zKwN=;^_^Af;q!6ZE12K<+eFu{g;KDVbn;8@6$kkKAT;&* zuX!gHSI8TV?L{0pOqMW9y)p_@a&TB*N-#}tM2}P8ipWDM4#^O!1n+h$=su-HTy%UH zP2GLaa*3_tkW%urP35+1GU@x;OKw=b!e@{qQNrFX(b%ZO^X4hB(K_~0%73lzCH591 zvTV#FUL^bX#S3)b)iHJ%x4m?gFK8LUyr*Ca;rq_7Xpid1Zc7#w7DhB_4?Vx!)Q(th z9sy*%8M5*(&f6u;6Q-n>|9^(<|BJ!L3>zM&n=t1|nx}#O5P?dGMn@?$Wk(}lM6&k4 zOK+rr)GUyBF;jmbZs?$?Y@<45KWQ*ypNB)=+<{A;Mi*lIbZOH6Ce0V~gb3hNan{p^dyV$~vl6SE?} z0O7Y8Zj)%y0=Hpgkc2T!VMulPr!ZjlHh9#Plyvj=z`WbNoWi)6A;rMuz{f|@6cD*1 zG?a(d5ekn6R`?BMNVwxIWJp}p5i4DWW`I90Lno<)LRg6;720l*NGc$^%g|RCn3y&; zHez+WM9f>So;^CC5A9L-+W=7o?9|hpOlQ;NxFw(TvkDxXq^zxW5UBSw+?gri6|lb*u%BMY5qtmAere!i5g-KD0sC(d z0Ur&30p@`H3xNF}=zu0K?Pmf$c3a^T!GQfCLBNN}6z0vP{jY(KPLdSRr;?JAa?7r* z*_x<5(zf3$f4e&!o}83=_2YZx5Xcv^I+CsS(calPj|O-k4v53kl{T!t8|60XKFjd} zFY*DiB@qcNElRc~X|&&}syueKr-i|h=?r8(7b(%9=Lb}6+J0e$$^)Y-D^_wm(-l@E zvh8~=dqiCl2-wD%GcNE#3%>ECo?gQKskXLuKme}9xZZjweIVN{q9U|5xXC6{#UIk- zxjADA8pcNQRZsFU2bj~1&I;BJ=$Z75jm0k97MGTmcKxl<9{$~+*65ocHX++^9=F@q zs20Gh%cu5{CE{~+OACXBkUBZHOJa~0?01l{u`wo3wB`2<#`!dCI{Oua{qJCtAd^T^ z?p>m!43pZ$i)velR;z`KrEqol?k=8;sSt*N45Zs2R)23SZP`)HCs zU~f9FAfNw>sc)aly$bX?K?+D8F65PHN!bRU42EQ^$3~-zqc6tzY_|L`O1uIjt22Yi zCp3~UV>9GR7bcg&?SthMCbC5xOX~!`H3AN?UDJOap+-t6CtALNloF?aCV5DZFW6y^D+HSv(WNsdFWm7J zqL{wWfQy0d+A$v~m!DhzZR+71W=(@Nwuq!m4ck0R$mD;pGd_1F9_MI|Txr34WLo|J z>>{JQF-U17Mk%Qd&m)Jz$QVyt(P6j2iDFLMhwJtf#zz>|7Aix1^|D`MWW5^Jtfk^m zL3=Y7-10;ndw-MQ`MyLD#MBEZ<(MeO7CVJO3_#+jI``h~3S0LPPZm0asR4ZSfi98? zc{t0t&kGv=AZ}rJ)RV4kQ{k1TUlKPefpEw%Qhg z=Nf@a^ zepNK^ImpK_qF=n_M=NHI9bP3qB(`RXnv*X+y4r?W=7K;LeaqihtW}K6eUbP;`m!&5 z?#X#D;#zWM0=o#A#3<3cU~>$D?mA21WBgvl#b0iZPQc|epJLEgvf$UV_p!<8ZK=Dt z(aV_78LJ%<&8X6M{5QxrGvtc__I?_IUU|}!|KdZ@>VtlhE7aEwt-j$6q!`RZOeb5; zUPY)G!kxcGgLXCvo;g2Pf7BvBiEDj-P?+h*!GGrwA3d3l2rN^5#Y0>nOosXady>CN zhs#`4I|ZlZ<^^?UpVf%NR2qpfJqMC+DR}hGW`_;X`+#}0b8s6K4bmtlS)FqkYVZBcu<7<_UoUqzyeu=)AAvzr){0Y27WFpvL3k-8{Xd9+^9@)_Pad6!N+ezxy{C8gmZ-tpe zeh&s-%&ZUm6b7+FTF@v_ z)doSef;$dy@iQY>GrY7MO|{(B==1=Yi=(xGlDokJ;WgV|M9N+bkZE-a$Ozms5_0}V z+%TtBdz2T>GO(bDc?V%?^Im^Zn|1yLOH3UZY!bQpG;NqJ;VWR%qTtWw%%H?+A>+!k zox-q!d^U6BGCZv~rqY;YlN8PfeMV$$|i?F!)t!^xC!v09()M9n0nVl`VCl+xkFez_6-{cgWpANkEb z82wmhbI65=$(8r7VKjXGpT{w~PzVlgKuFUMkWWd(<vQ#avy@ z3fERfO%6;E_f9a&SUE{^DvKDPia5dj*fX7>yUq;iD-vP|n&n(^*hO2z^IQH}LZ3OG zgbAT{pN~QE;fhMNt3(Y{5oT&^hS`kQ)WPfI!iW*VcmC?nvL|8(R0-FNVj=RI^%Pe^ zFs=`j0+da^6InO_U=6DeY%66c;Wz#cIAW|bJ*IR%;GEPd+|cMfanvDq33>`hG z+1=BaBv9w7yaUoLu@JBW2%xf=0htLZL6^_P3f@`MPz-|;eY|rzngnv~odNph{nK}? z78V{QGD@WCbH{Tm+8+d=kesint#D_v>b;%<(gm6W5}!YDe^d(gA=>}RJCV_$Vss0z zGZIP+w30?!;6r0TYl8m}2yqCjbB^gPiw~H6N9b!0udX`CI*%^!>vU3j+Ygcy6KVi@ zKEu&IIoo$v;6wnptksm#Z z2|%&}909;-3x({bfP|(7ry$-JI3<^;I{)TzU>PfPXSbEp>#EWN*@0Ij6`HhKkx!As5%55QjLE+;z8@S$!Do4Nnwgm2#5ahvmeb@(1jFXR8{ zd^^o=;+PmG%tm_;!sIqlD-hem$|`@fjhhT*9YHaKC?~RX+brq8Z0nnh5ngb zS@>mu%~%h3BTChCLg!@3YVrh3L0jBlcM$3k%L4+$K=6?H7BDZLjZ!YUy*?-$o<({W zoNV+NajJqHv7;#$0E__$JFs6*Ni3<50^)VVGJY~eQjn6mw_8mV8L+EI=76I|(4yZ- zc69C_gRX>;M`j=mBPll20lK@brRU^P?5S zkpFs)<&2b~iciEt&^Cng%rDS9 zTUVBVITLzt>p=_3{C}Szy2%0Af@!(&&-~M+a~L-lb?on*-QPGiZvLv*iaMUms_!_g z`|A0vIlCx6E!mUc>2d?Ge*! zV?+WHyY(_XY`H5kcj;x(?6-@xE%IJ*Qa}li?uY$hr$X{S2*0DZYgV?dTzSg<1k%*> z;;DxBod3~QW;8oeR6%2Oo#qx`C7U_uIBycbkh8`s0bl$^%#f3KlCTAHWPNnPmeq|X z@1P2b^G?uVKex&$zfMwK&HnVfL#-k(9Bc`MUN(+?DUfH`uy&i(f4yh#l-oL1E*>>D ztr=ohW@g|!G%?GA#4AI4TqoYIqBv~BP`~nt-BShV=#?o<$h~khkaWAHs}sA_;T?=B zjFth8a9r@ko~0l!tQUD1$h@_0uT01T25W*%TZN_m8KWjRgQL^_erlVp&|F_^oocnS zmn{qNFYUM(g}YKr|NCi2C{dz`m;1Y`_rz5W&9g^&usMGeh;<-}Nz*}>&<)zZ!J}*cN3i|ZlsiI& z3O(Q3{63K7DO@V`h`+lzwMj6Nm$44<4T>?kj6M*2PVFC5uQfPw<$pfpdkvsia2V z%L}u#26gRu{|vkaa&HOlOGK9q4w1piqP7OlZt=_td%>R3FiXP7%>MQn3u$u6{_bw- ztY$i<)7$kE7|M0h{R@AQ*axj|NyafX;9PqR;#Uk*j?=%6>H8#M{oAn>Xa~HM#+@=W zBF7OsMU8!GP*#MnS>KH1p#p|S(B?PJyH|sKYCTz_(3Pt0aur{ys=0eNx@m^LjV<@T zUbn;gfmd5PPbKx^1#`gRX2^9)`sLzc4nyatyg@XT`rhC$2P=o>KsMC@@$g|POZ$ly zPfFu8VC332kqHNHrtFeItklq*UwuMpvM1o)*z3Tqx-bU`-(QRC@xVv9mtEg?GNq!4 zF{-H%SG2zsr@;hIn6^dn`~wJ@7T8qX0OX3bvXJKJy=B@zZ%0lJjLPeD5AlB0pV1R> z$lBtTznc}17yEB7 z0q$ScUapfYe0%NdXu)`@4(Lh-q%=r7v0iYl?>FL#BAegZIHw61aX58Y$=73QPf_1LXaWnbe8S^+v5_-~MNEBRQL z1S+M5mbnk?(X8w1UPj4FNL-nn!J)I`swl3dmxQ-6J$a4JRdM#dV&{MSnpd0RKPKnE zht`8xFk9bkCVu(E@(==Z(%Q--=A2^|6Dnh2-gC1-yA{KLDFh;8Gq6zrJPHSAED|e7 zzh3>h8ezz-djoLRu>s8WtHD8jPqj=@kF}$oBm+42pT|v$QAKi^^SeyIp3Hm&?|KSa z^!g7xZ~{^^1K7l%&idr@5D36GKv&5G!BL18^6a93bRq!^)_V$LBD)Qvg*TmbY3rC| zR7>u%Dd?(P_S}Whg-iQa3j%7zpCGaVr5zNS+I%K44N`-Zf3<@MQ-~qSoJ#S z1QWwf0FMPAOr%ZTOu6Z+GoL{2)qlHZ9!Xsw14TfJ=nX_u;^;Rgl@A%iF~-e@LB8Cq z;qcX!YSB!^*Q;hc0e2tK0O1UIn)EGm&z?ql`qL&7gs|1aQ+c@#17Oh_OyI;|9#OFXN%c__s zG1RoD&viMz84Nx(RGKAvw(-c6C*vBOpU?95fF}FCH|pH1gnt9dXKExc-cJ|L*gbKJ zP8=S2Ga;wjw(A#&e!{&>AKY<5jX%G2&CPMla_|L-Y15jn{s8|VwT&+yWJZyyuBo20 zXFJ~d3gD%$k&37Ztv)*{;Y@YmyPrgg^ZYD?MWoF)#lMA<2fxqylNpENZ0pOBpYN;K%m&v_<1Tfv+7B8L>1 zf=|LI|6LkkShv?h_OO$w@vuQad1A`6U`ZO1RpBlW*c>P1T0id9PJpCX0YPv&h?5G4n=mOB!`SuYSIcB)S? zknIzVn}SVsvn#ZDVMkjgWkoQIs=)IXl{}4QV&+<3RikV9^&Fp7JS5hy{blb<`K6iy z`9f66p4)+N>ktX#3o4snR^d#diCo{L7^CLxsmW|fiT%7jTh)Kf2n)Drdx@@^^@rPL zDK7V5MaqnA!N!|@I{-`9hjT@WCthqEnC6V;+a`m4vMf>p>Rzr#%0wTJ|8}HrzWD7s zhPovaS>z}r=;S)o(b?ER(i86MZefMvOm$V0~65Es~sulmSo{&GLtqwnPEgiLSwMJ|#jvMr+y&}!!_Uy*AP(w-jH%>2J2Z~{G@Y9D)4#mT?}X%+ z#Lhc$e)s*uK!*z+=NO;FMyEyHSc<#Y;Q2m){aSCGCTEfo+Ft|4XP5|#uQV$e)H7-O z!b>1p3d4a8`N!Q(z){hl&eP}bVBU3Z(2oosxHxx#w59arD{MpP8f@2lZpNb0al_g4Z1Ih7a?0t?oN+yT^nF&g=Dk@&xf4dxBy6mZaVR$TUEm+ z(}#mzBiFw~E-S_01Jn@6WfyopqKQlc$czKApPyBb?93mqKYZY|bAKt4Ck~}!CA9z_ za#SvL{W;vyI~sD#_ugBisYY&R)}xbmX%^OVX;~&Z8@#Hd3`p1ecX|Q=#(W7Sv7H!W zZ72KLeONF3Rf@xfYm@F9QY(zl9ACjF)8wu6|PdkWatCW|2;FHu3N zCk+P$!@VG@|1l8YBHlxYfZe48$|TVPM+Ec7pQik#HH*G0sCw!77Bl52mi7bRXDx8L z>3An6bE%7~Ni1TCE{pcUnO@}<=WFzzPtWHB?)yj0VNK+Gp8dGDeZ1xS+)B(D(#A~F zFEG$hJCW}+?*1}uXp!^rPrI*xuD}dLIR1WityQI)NZ)&y{|t*m1i@%2D2(61du-QI z;rUcW`Eif?+HWx{;+qp$tkE8W$IBnQiW;wXS&p|?6a{$>8+PYR$Yl~uNv`hvmhvGG znhUyvR8MWm>2CA&(k=pbK2q`_`w7|OaertbaVtvIm${g8(G571l+Z9p! z@)cXnk%5(DrZ^`pEcq(|;J+MjiU{`ouH*wv3+Q$*OMV!g$Nea+(D=m1muZ;*(z0&4 zev!r2SMAj3n~cRMeUWjUb!}=X(c!Hd^Myy!!jA7~hsh09QWjUf4I0W*_$r;eQ6aLD zKoKikU(XCi2MNtxF-59pwB(R<%6ju~4P=za)YdqL6Uu1Ezf+!V;Xv`m6_%0Sq#ex!-W9ZRL4DRyxma{a*00Q(W*B(6(cQxeMO2Sg2~_0 z93}aOJbi_S{aiXY0e1JNd|Bs`dNjfqFH)Uc{q;B2)7FrJB#<^R@wTAlQd9-{c6cm= z)k~SeA`$db`Cst$whr%>pmC)UuiLE3k#50fgNPM{2C1s;ln!A4)9#esPd$su8?eRs z9ZPr8u_C=Z$*XFRuA2qoWL56SiZD7;f6aL|rITwxe^Bx?_+%-8qS#Qik1E_AyF;w- zkF>GtiN7OjaeIkxqSO<%w|O@%YDFL`nWY6F46QqYKRdStx>zd!t#%>c9Z3zEy5DS6 z=~CV4k_?{yUS)=d)IXnUjQtbcpG{X)W^=%t-m1PJ|%3<#nIa31wH_oxfz66}32cvfn^EW5yxMtzKau2ja;Wh|R z9N)TxUzUG=21=04yTa!H`&p==lLni15hFtSFx`?2NNCfGHF74|#GGwDpi_X(oH(4A(H7+*b>u~WGL*at}kFM0Fcbf;rB52Q2_p96{-3N|M30@BJnc! zkKeT+pqBzgB>8G}Zt5^33R5WLp?JaEdzISXTUf!*d9J|gc)U&DOEtB%;ka$ZCQo(Km4PTNG;Yy3pF8nu*wN1X9Dsg?Zl-)2x#*^f2K|0BSBcE1 zZh}RkU~XNVzxXjEXjkw5W1}Pkr0qj-OMSM6B6oyuE%Bo1;uw6CO;>yzbrMSv@;6a5 zpMxK~^Xy+XKFX%)#tfgO4e`HOjxGb|wyZL-n2`0u=!zSNRWe5Cs^0N{<}V^j1JSIf zKNUGLTE>_Y8-G*)nhquHGBb0~BiFn>;(kXCpp zz9W{PY%}weYDM46>$(0{z4sPSy?xx?Fvh`48<{3cHTWv%C>NU#9roD8pJkd-dHn_e-6eb0wsLZGQ zw=aJ*P{#xuSZ}+BHyF*jx?TQ@6}@tfd&s9eBGUkr#XBAa+ebN`;ld*2M>Bnr;E?RE z2dc^Q4@csn@F6_T!h-c$zz(dzsNnVHTut?%f1D_bByPhrVY~6MC;n}Jf3dhw*R2(h z&wAZ>Y(eK%Nr@t2Nq{_s_O8;&OnRFE6^8m+N5~%tQ*`?=QiB>(a*0V?ND)L&d)~83 z{c(i!o!qQ*387j<`M5L2J!9ATS7CxVvBsRY6qVT}2?LIN?6yTY%bXT{8|6uWNMFFC zYHt*~Z#B3z?(O#=S76>f%i4af%hM%Qjds6lw-qVE@AlgGA3Zj-n@*QNdJ1~d7@`X)a6@sp@_s$~bbvZkn4db8w0^>LxhY~+q~sLy zx<2?!3SxuSBdoBiZ}nSh-+X?sVxj%yQsY8mf`Xdl*7BWA4}A1bhv=CWG2snybma>&?Bq7;a$NO%-i0l zjW*dGFTHPwoQK}Soz#T^Q&kAhH*R)LpE{i3VaJ_KwsjY%vnsf+7h{Mf)21swUpMK1 z#wyEPnlglGGOc(y5bdlf)vp2$SY&s5^1avkT2L$ZlQWsnE&OA>VlcY-8#VkD*{dqG5|f6A@7$ z4vJ9?hobs{9AG7Q(|M1_ByKMYc3y9^q^H{;yh04)0M4&m`|J%~Y6~dkOr?hpSpcoS z#Ih>5^tFb8HhIT1ckA$2&~zk#KF4O>xKbe`q-e7h4-4aVj_C+y;pxVRfYLvQw>1FD z;Cc^GYm5n4W^BV4fLEj6f?1t`#%>npKtzs;my4a z7(-j@{?OftqeS1xM#wy?5MjGJ9olq>Uud2aur! zv;4K+flM|6$Q^k+siVOebHOY<4p7p4ktzL0cXRWN?`x@JPwQXsBEIpj7K_X5DPcTM z&plxlP(FdVQ;#V8m+thm9^&Ufwd|@*>FhTa+6?GY|E`;1l;ZZ>b#4B_f(rLcaRu5U zWdj4QT4LU!`7&}cHAWwYn?0CPKlCG%?Zxbe)*lX74r*vlOt4QQ09KJeec0sN9+x{U z+W!%647xI9nB52RCwH{h%(+!S(!H&La)Lrg*^#cv4;-Zm+sg70=o$rg#k*8*+<=_H ze6_G%?hcv*>F&dT_wkE?_`7($b4#!2^iK;X z`@M9rF*{FVgomU6hT-yaSSc7rtEiLZj0NArXb2+jr4F;Jt`Rh_pU<0u?PjXkbRV6( zJrQLi6at%OiaxOz$}3LRf#=&U)i3d`P%0G%lKqf#jsGHAHjz~LntN(W{#s>Bb19_v zYv1w+T-6Co0aO$a%!`gwFd&t9U_mS9O!Ejg#q4=w*HYt+<+~bF7_!L~oh!vOo@$&} z58h52mIF8WuRYd9@~y`a=EA|mZA@c)qa=X(M|)@a-atnB??QLB)f5ntSRtklLkt*= zH4X$OiVD}XXK!`{p**Aa! zvPe%^c9~%$vX9!TOkx$xyO{0u4-#W8lvH>!5VIdRtGPjy>`i4MXs%0O|L z={ifL&-tfF;Bazf`Y?L|TpN_BKDtd{#D0DrRm0Z338;)?t?^xzP@%xKx1%wq^?V$* z25-@I`EQfO)g>v{s=pG;Ck&(!&NJ6Oe2`)d^N4$*FM_C5mMmq8`;mP3HI}3({`2QF zG}|P=oZ0U09o`NkB4=(-RPlc+{8t2U$^RyZ2SM5>WUA{x0?vgL>(>F8Y! zyZ0l&G)oT@KNDMH(4V$?_UkL2k(}u5c+SYoAjHFJi{l__@q{;~^@lm#+^KZak7&oL_z6Qw9iZ86AORi;mKIuep*o@Q8M3W2x-N3GM)-= zbZ#=k@7KZAznj08x4Xc!o;L__Vb>*#)uTi#MiYTdXH{X0;cX<^0nlJ8z@=izQi5|) z4BkI8ZCJkFtT;jhW(fByA?_mXm!T^yfZPw@?>5CgU;fKnG=cbbhlJp2l?Tq>cJ=7? zFyYuiMY^3q=N(m~C2v%Z2)sL1h-+0GIE}!7AhJF=_R8BW)VBxDGzQ&pWzayD)*ajv zV)8N~Yc)y+6_3d4yf-J`yM>l{3&|i()XUjBlVkpx+$c#6<*>stdf~INpUdA}>EMTk zd;?RoXd_&$KeF0>=6MXVK0MB*T+GvwaXV^Ms9*|M1jv&`K~uo$**@+pRI2eJRO;fw zIjVLoG25PUc@)EzePY8p`-_)Yo0D|^tOc&kO4{ZiQAd(95_Rs`r`zOqM)_=9@V-q>(`ko|ZFmo74+IC)m^e=)y3c~}6s`6c zw$I1D159zrk%dHY*0pOm{N9XIosAO-NnvkE8@ISU z;onzv!|rI`tM*|`*h#ZPDdv0u&x&4g3S;*+@*36i#oMqph-oFU!c8!4nmNI5GauokWJpn&tg}gDcSRsdh&cjYCUJK&=X&l{hU~iRs#3?*L2j6hF!%I zm3sM@Va%|+HG%;aBB9tVi~`QI&@4vdWxUEb{f%PIvp0da?Am;{;5fL76e2(OCWqHV zb`_qbu%=a54;2lZHof9e^htD9{GNx7OFiQVj=eC2zHGBh$Xk~)GCIq9k#<&G?E969{L z+}VRPh(m&ovZJDYSaiKMB*v~p-nrK<30t&f0p`RTW$lxazG^>@;Yxt0LKkmWN}i{= zb#2u7jRm!!(Qc?^5HCC8^>X=<@llJ!QFUD_6Z#jk?gjL-oCY=A+zYbpCu%zMB%j?8 zd#jn-7l{7{Yc9%Q(>`KE97}-z%5=u*s(|7JuCdXxM|IMF*_bXhbmQ$3$;2xY;J8{% zJ#V3A8nUnDLcPh`f7r|vXJX``mC@GXpM{Dl&*-5(^}oOdP~AyK-+s7%KlD<$+6~hk z`R*bZcNZaxoh#8Ofa#RZv!A>C3M2QgoU41&{N5!8cW|tCq)-X%m3ZR@9T3)E!BC!k z2y2?#Zyma38u0NMa60h!{e2)GC|peN3Idxh5+jnge1DTqG501+7gJn3uL8xxgf`kR zxHHxa6n3n}1JsOcqN9Tk?T$Ba3}ruQBtZeZvq92XyRq+9hVb_KZP|sZ;{`Za|C6C@ zN~yL9DNQ8Kd{pN7@c{L#kptT?tAhUkZtKN+MkpB;#G31IyK< zMnP(Tz2KBq4p8UGg_Oh-U1t|TVupjsG7E)#vm#t&&kUlSbH51Q4^XDKX5t$XZy$8V zl6C@-eUUTTmtOU()5sFUuRfNC>WJ2^%j7H{yibFuWi6y~E6t*f`=0KvLSx$|d$SGm z?sB{GAnA|8P8wlNa#-$ylSwUxB%%R!bL7B^Zc*Ki(sAPOUy~)S{GJ3RK6D$C>e?MP4!TUJ)(TnSb;@<*@NvX+7zfw06dI>Nmk>e^UD|WlF#qymjOD-nvrUxh}k4q zlgo^XeYzxsQ_8~{G&<8!0%z!mf-?!u8*2S}`Kp}U6=G`?Q&YubAsXV`pBlZ@J#Qp-vVQAWLP(`Rr%p^uWQyVzsAU@$_7~tVWWVQFEkc4|cgH_WLzfh{Ax%F~u zT15y7{Lnxps@nYWd2Pe`m7qplIVaikC100L(MP#Q}I zNO;@HX*vJD8~ClkI(H6~Jw_Hy=jJlCToQj}*k zA>E(EQHC!3gcDTr#9spJ>=C^0meT|%x0gr*2v=UHRi6VmN}_RN>+B(-n`iURqe5^% zy#s-qb4l@mM{we5B8Va?twabo#(i@NW8U3kLB8Fpt3Sw!0>nU|2B4OVFd z#sys0y$+=XQ|{wJ1l{p7aILwQc4m^;;yU9*)Ue*$wEPZTe7a#Lh}S}PQ?~?@7#u#- zN`A4>>*_Upvp;ETt0{TQ2x(vO6s}I1etFbHocFJ-7iKJq0Qpju_j23#KoKSF^Wa1c ztFcNj@1}MZ4f2aRQJC*ap3e}H-=M5KL#2C1Fm`60G~wxW`) z*K4wEb}L32ayKqwM`*xs1#r5nNi&FMldn%m8|j7lYY}WYZ=p-0y<8^!xFu|by?nVkn*Xo{7MLRDBja&X|YBKV~JY+*1hy6AZmW8(^myg?;! zGjj^j)P(A__^>4>xZ=Cbz{Qp;3e(r8Ti%Tov3vE3JZVB@XLZ5>gAs?{`RSJ^9w4i| zC1%wcOq__+?flXfD0;)M=cD;e9bV+=;jOkXikf9I6W5E`eK7Mv4-8IvTe9EdHe{Ga z`oaYos;N-`7Ahsu=`=$%!hjoRSs#e}nOLaFwYMrQfiah`O6(%Ih>q7wFK1#dIxOAd zaATTMJ|4KIc72!V{J~8{@~DyEdq)Okz)dXRs`z7TTU#?Tysd=jb&Hj33N3^ymlb_z zxK;@Scf1%CfICIyWhlLVyVnJNyO!!XW9K#RWAiwTeclIS%CavdySX}6yW4rYpwlwS zX|68rVcPHFK|OurkN~0D-!Z=12)gVn5}}42V2QlAB_Ox_vC;t``8@ zYX7E;?=eO}@X&xr=x32ZWeMWY&~S3ZW!fqs&23O-CCzKzW71e%m6^FhYq*9!F_g0j z-c=CAhJ$j6(Fzz|t=EM!uG+4CG*2{J?oSH(e4{^A=Cc-a5MOD7PJH2==BC|`&R>>+ zJFtzeOAmdN>+Yw`zN&ZXsc90NB`#p+3)GoN61Thg@bdI;CEg;Q!2sdf{S%D8@CT(o z_uC9f_0c)jqIh%bVTxzwy-%+wTt|qIQuoiIE)HqSwgeiZu1tLB^gcHRd?1Pz8P zOUKzOE;;i{(nBEuzMpvV9X+07z|GIw33ro0&`(5|I}FGdN+>$>$y{{96o!GS2Qz8n zD}Z1nE_el9=aAC!$>xUmfingod$s%_L#T>A#*+?~-ly!Wa3Sy~b@|~vcN3u3cQ3JH zTiyF&2$66)vyZh#1>J;samC5pbOKf1zT0z$xV8rp%zU}4qMVpMBPqy~=)^ma@B3sw zQUPDPwkq?C+Sp+IXKWV1=k-SwfWzHOYXBo!rnR;o#viw*Qzf{*nfQtbUA@lzx+mV6 z+OxdemNtd&Z5zGA%W{4%=T-jlsP^)Qhq~V!wi}I{beGNIpx_Cm?ksDkKm- zI#-Is-|8$YWb5T}(W+ieG$5gJc*HS0_L;+<-Js0a5TGXs&iU^vah+WG0GVY6`w zQ@ZVyHe!hgRfn)%9T(sRsbRAMrsQQ9-{A++=?s!h&1zx%a!R9E(XdzO|>(nnZ~ zZOCNAEvq`=WDsJW8#uC9+SIN!1=n!BEm@PHh11Qt=38SJC6{-ue6Lmc*TOQU9c;5O zjJ=+NMtc1)wI4--KL8B5oMvr#2A6P6;o>ihp0{QnSx??^i6!bs!`i0ihx2b3-Ih&p z#h4!QPQOp`+A7p3mn`?RW_dfr_gEOXj4bkk9kB27GP6&obf~bFW$FZNWZ_Y_oVIB_ z{4BN4?G;~01+zoI-oB962E9j`Tt(F52efO3auPM{4NHd$3?U^&C}5)fA=_T+EFHWT zVw8PZ&Yx0c_mcxx#nzF{FRr2srg}%leAdpIi`ax;xJz0*&92@s?oD;@QgYIf7;}-l zyTgL_Fkiya_Evbz{>$5kTE?5fH_?#|kQB+0+n+fH&8U_5+53$|Ckoe&+{x0t)!sb+ z_97l|=_&gs&pZH+RpFGyXcd-m+!lSmVLia<#omkGE&Z9>A+VNyn5%aQSEBZn zDX=za>LG0=%(thACiMRV_X`O0{=N60uusFahuMzNHVUtx%<~5_`#dfpmyu`Wk#r&y;}b zrZ>-e!j6lIf2);s|eXh^OCMw!vF9fru8Au20UBjy39ZJC&DTGu55+LRTs zXg5yKfjTN%mGG*VheUPkCG)Vf;HTj-sZ-tbYB0$XB~QU*mvGDyk)E8x&%I|{6wCBX zny~4a)Zu63WkilluiRl89o<{)JUfYck6vK?s!yJ#3W@&A+`*=AT#9b`be|P(-1MIQ zZ9owZ((0bv{ZvuD=fkGYh)AYS?OS%f)W`H`Q8kjx3T*n?z|XzUngTxeUL{@k>2^R7 ziF%NMhry(V#xkgMyOJ4}Kk1S6W-!VB z-D|A^Z}{OqD#AK@$*kqbn2WCUj(t(HC{_DAqn@>qsDqBl%-hXURl?P>+JdoY<()Z^ zbvBe&___CWCq>iCQ-6PVMgCX=oxKzf0$CygPJxP?bxg!L?R`46Qr#{QZK@XwA3?Uh6W-Pnc+7W9M6BLmY zqV|&7BiN;Yno-w#_GN6~?(e+2HlKJWu$ra1CeD^UN22^*h_gfVG?Y`=^mPZOPwlz) z;ta*`7N;Igf8aiAgHCgwI)o8uO0?0Ur$jcOY-<#Inia=KHBiB`BcH>t|99=t#H`@m z)?8CW*z}ARwRrBmM2TGyYp%=I_F8x3+Snm#FFAtQC&-<_F0uC|mfZavaP1nk%tq{H z-3Mo2wd_6;EAPxHhmv#H^mQlA=iVzPHBLr58tjvn%COc#tn{m6KyalvVOV(yX$H-+F7URV2C-BZF0RKn8X@s4V8-j?d|7y|RI~WxEAYgq&PM z3+7r3G}PVZ7dl;-v}uIr-p2reX$FQBJB$zcH9ddJE^8uv%dS4py;tJ60NCS-#)a>_ z&j|f{??EFy4Oa}pX*gV*uA=s^=^K|wrpN4`-k4fpL~x;kmrc*6&kQy_lZ0HG{`AvN zUu57q#XCDYWx2}o<;!Wc0kX70f$LZx`^is!a?F@9a&6UDn4f#k=)k7W2z}G@bMF~1 z`8EB%ef!3bA1^+iY-#!Om%n^KVbY{YvRq}>tXZ_$09jh0z;!H;J?*s9jy?8R^dR7U z?|a`x7hSY);ld{jKJt-|oORY&=(Xiq@a}iNo8B0P3FeejPQkhKL4zOu@Q2$>mMmE! z3tcpFo$q|-J5*!aHY`)A6RXaM5hL*0o@~(G-u_LKOD?(Oz3+YR`%SRi+}vD?Z^|%* zBEP0*7^ZOa_4RExp(2BUfdMLYLaPlLtuSl-!AK5k8-ONQSM!j_8FD=K2UH+ zAx&?eNd}JhQas6wveElKyrKT@oAFMI{fIVG9HcUt;Cdee-_{g~cv7T(4)ICJWPlwy zSdwR$D6*gXti%?X6aSf~qOsU*o|#5fr9Lg%^_4Awx29SoFwc2xN9ASCH6|h3*%@%F~ASiznA8`%pJ^yv(%1^>&!mJuUbgmBd^@CB}y0Gz@*pwF}yTbs*|N z=a^!f-u)sgZvajTfsv(UfUKw!bm4{0B&)t`-OQSsIi9h|)C3WH^peXr$u6KbOesJt`IZ2*pzMr(Anm!*=G8xQ;2e6xsCN*Vyrv zm>Jg@WA}aD28;rw)I5c(BC}29++xx~gpYzFy3`lkcoR_I^H$LNBi}FOU6XISg59{| zoDsMhL}gd|zPmP?F?On~u$o7i+_kZDDpm>wR8?ZGGYe&-<{#x=8_*!SSvnHAxxji| zYJk|QIj(l>)jAxd2L1x$^_G8?eVA0JNW;Rr$}BP3Pv30@5e5p_- z>lu3y^FPOicAM&}To%mNQ@kw3%OqYC+w^t?f&AO8*UKm{){EL=L#(&!TeZ!X%nBBX zyQbNKiP^GW3--3w)=HsOA`aEaV3oRW*XHil#2y{zRsJck>0PGKOM3gH#k&EWh1Ra%yb4x=tN_~56K!ai%>j-H{`TH^l`?7Xs9|5qA6Qxwcu4^2j zd6@R$V#)Ex`K+=_jNSPR>&+e8`^A#otX(V+8!1*Z_5#zpH&kA9u~%zzrlb_`T`sQa zU0s@iqs+`G!B2r}=9M)Pqrj(OtD;YvOf3+h}t+|IGUnT zWqZOXaAo~=?U?cS%<1iY$f2gOow3Gl+<8=1xl)KS+OubEK!Z5jsfK+_sG#mBQ}FA{>_Z*{%BTtRb9&c?W}E8Yz%Y5DWTqFP7W&nlG-6Th z7#N0$Lrt8R#!k?N8Shg3A+YF~oKiZ|GYnG*st(GNla6`Oik#C|yQso*04A@n=^2J$ z7^cjy=^2J$7^cjy=^2J$7^cjy=^2J$7^cjy=^2J$7^cjy=^2J$7^b`o4gEjGjJFh8 SxuZe=0000jMVA*I(V%v$haduT}LH(9~KMSI5@ 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 LtyrsI9sd6Sc&j|a literal 14152 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 z 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 diff --git a/figures/ifcindexedcolourmap-fig1.png b/figures/ifcindexedcolourmap-fig1.png index 39e2e77c326d09c2705657ff65c54119513cfd69..8865638bdc4c3a44b25b5e924267457aac9ab652 100644 GIT binary patch literal 17274 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 GO#cOyO)U%n diff --git a/figures/ifcindexedpolycurve-fig1.png b/figures/ifcindexedpolycurve-fig1.png index 5ccd880da871a1b33b79e9fb8adb72dc64cd388a..634e99fecd041fdb2565a571734e240ced87e906 100644 GIT binary patch literal 16831 zcmciqby!qi)CLTb(%oIsBGL^4BGM8H(g;YykR#o#goJ=}H%JcM0umC^LkyimGc@nP z-}8Lm`_~))yj&LyGn}*c*?X_J*S*#v@~yfe9yT>L5)u-g(wkRWNJz+M!0$(xD8Nro zEo6V-1=&?gQ4Xncly(PrgJvbGCX0mhGZyF83>|on1$y(r6$y!I`tci?a{TuJ5|XTr z(koe=&&CHCcs^u(Z3y$d$q8GsJ%i5g6UofFav|8tM1pSu|LQMQ7DnXSXtU@r5giee z;_2@YY<{OLm>Z4?z8XITi zIbA(HUvXM`7;Q<3hGBw9v6J+Jj!x(KAwZQlSdG{NPGa;=YtACd^{KkIkuQ!kuh1 zCFrnR|2S`H8TS)t1_!N-PXYnLmn<)O_grCwJNos7n3F}8t0MW|QU%AaAjO=wB^-*7 z(`u>UAc%{jQ$t*mNbNVB+E}RWmw^FFKH=DD2GNgvoJMsiJfF_!aZFHX?MAbsKX|s) zUS53NlcTF4=OM;wKusfq%)G|z8Ua!ChW8dn*)|Qd{aZW;*mV?Z$&%dM)zMUKQqkQb zp|>e)ZiNy(M&;_eV>qamh#|L%rk}Rr{^FNV25JA2hMS^*?s7^QbA+*-Ab{!z6xOqe!42E2aGaa0RjkGxGPT|bQ_+Cq=7Wqd3$81!MT z4YdAmsT}AyV18m0n6T#iO!^NvM9>8mgD?3BY1Pd?(ooO&z&*`As;~Dm&j*Gh|A2=u z8^XL7ZZ+=*)W2#J=e{jwBol#xTW^Boei2^QcF+($>oQ^pF_Wp|@4pM?`tM;cSC-B< zlS_=rBmF}be?N*IS^jFUw-II5Tcf&GQ5)AGH@8--aH2<%4kGS05>3@8j$wF^Pd9i1 ztd%3A<%POTfLu;@9t5^@+I{Npw{ET{UyVPOz z$5llIXJ|;pl2G>@Pnc?-^xoO7JMzD0DZX5x|N2^`0o4Mvxk zk{L4&R*w227DX(7lZIp0+|C4=M?A_|=9HH9B+3IR`SZYs12P7vCKl1-Se`mV-?~|O z&<=!ncvO=A9vR{=K{av-0SW${hdCa2Apia4Sqw=k zO-#h|B6B-(M_%L0r9%qgB)+QIo1?k|O9M|n?2Ynd>X%-yZ`6gX@;H1h8fr|?mh_m4 z)akmfMG_DCbFZq~lkTJCnlz(v5ozRKpxQdXXzW;U2aMn3^lVrm62BAllS%QXLgKxn zxQ;>CZqebjvjuOyQ7hOe+^x#|P$zQ*wl+mldi+2rUM}iO~7F}%>*IONi zy%M1yMNcgp1`xYTx3>={JVnsQbqEPj)%25usktSaeF$+D2W zOo}GoqZL0kY>d_B<_CO>Yvhm?4Rm~jLz0?hQuqUx_>{-zk?ukvhgQnaC{FQBbq4K? zhj}d6b4eDoS~+H@FPAkWSp8L=cXaea;$qcixxjL!;Lbp^dn;0?3(GYo2@RNFRT>No z$^w<*(24hUJxzu$nhXuZE$Zw4j@IN5VfMig`$I#H1U+vw=S|~_YtNeBefKw4kj1I6 zWWZwQ>%s*&?@-L-Ye?0zTqh-|nN_3NsUd6|O^X6P6Bj_=<|TA_=xE>|O|}HZ&!pXp zMJS;+6m)b8Hy328CjPr6%yboHYe{c8C{{&=(w{*jNK%tyM)oq|`9A*CvhbLIJvaV} zhjq>~dyf9BNSNR2!;i$OA7c-OCZH%3%{qeoAlY@3Nc`Y{R*wlo2J6S3I&6w|7d#PvICY>Bk{De^2 zza*1;UAMWHu+bn7;e#J}yWloyvrW>uU^Ww+_xz|QS1i1mE+{AOuA1(gT9pTJ2Phtj zAKbwkoT-r~EHVS1II^UK72S421=Pc7FLf)i!epL52;{x3X_f5#TVc>h8{2%nTXvYL zTih9M5HS1FB5f?#F3OLek%jp630K*$kb`my*O*;rMBgTD4ZGK~Dif~q{)mVyy?0ug z#}V<}+zym#PaMj_EiVJUEJi``LE+gM_it8F;8{KwoQy9o&Jvg&K{tlk!pgn`2_| zix_kkU%@{y0qV2eV!1>ulR0j90q8|+W8*0`hYoH$V()lan+_`;7n1OXc3U+u2}83% zkW^mP+*U6UR$2ZLqE5M@zWpbB1@Jxt-n?T{h3b_b4BndXDX zlpyeNNGU#;AVm>!qcaAQA^O^$`hz=xF86cmyC)k8UFtHOo5`93DR6SvA-yKA554%) z_zL*Hb}$UNRY6wsQXbD(ZUQkFZspQy@I#|`gxyr0K9ZOoSdVUn>@jJ}X8@q?RxBf$GRf5-0S8`J_}zoL+lUZo;DnjtMpkX%S(9 zt|fd{ci+)?eNvuKWZ=|nbD5-@o3P6yPfbmI$-qb-uc#x7tagQS> zr?uMnauD`qzZG>yZ?sIiHNFP0tk!?NxiaxLNT%Tv>|!-E{9)cRg$>`{PQp;wp=AW8 z3h_Ph1*AjweHiGl<^mafk6KD;S5!MZM$G-c_s)Z|03Xaqe}AxVFHv21qPI28#tmU` za$5ddK@&%JA6h40j(cWsr}!NP`Ny_XWSAduCx%>5o0=<&eR20QhAh-+Cce8J@`z>j??V1= zXC~zwnE%EBA+jMbKaP1VQ2)r$+*>!er&Y(z(jEqZ2!D}o21!=O^4yi5^YKCJORYvn z69*@!5UtIcnyc2A-@c18bp4YR@lIdruX9S6PFM(Ft6xC;_1^Wl3}*z1wly4MJ`FfL za@u2Z!7KLWZeG=3h+8#9%X)(@HT|42IU`=I3~8cqcvn`se~!iRXVu!u9{VQ?)%0Qu zubMjaiQIhpo@r{^DDeyLcQ5Rj57b}3-hAa68{{0-)7I3~wDMi%9sRNf_yLyGClFN_ zL4|^HK`;7+DdZ*-5nHk376IebRQ82{@9S$yKEncQLeGkH$lw?(M6WLzf5mQnC{%Cr zJUS$-9twwFM)IyK3*m(a9zJ8oM4lo&(=%Y42uxzffa^!2KV4p64JYj?+~$&WC?yHd zriHsRWt@O#s}Fy0(8l#(f*Ei2-`$ihUv67zwD!~z=LiP0$fCj7bH^`EPNpX&rf&`@ zI`TZ;{L$mi2s)yba~BODkOniJ_$(+YKA>yf(rL8QSkL00V1nrzm&c$DS79;r?O)1^Y!es9Ov%sgpGV1KmVMFRSt=VxMg)mYOYc78 zA9E^69CRH>zS_Mm2x8VMiCdIk3~JDAuBi>LusmX&65YEp{;5JF+tkqb<)jieYLK6& zC8$>ADiy{fgvZ334u}U9kox8+F26ZI+RbcD}%qteE?8q zhbV2N<1n~fpz*tW?Rm~;T6cG_J9?d)XYRe+{_>P(vE}gg9wFkl!5!zgJ(oaX_b~${ z5p`^DDGFsIeAIzdHS4}^&4Cb$IQ=$&2awchLYt2TCHP;Vcp$;v0m+1bcf{!8oWx!2 zT7d%)^frZA?&heUOgwTkd!13KwQSwYPTjdUrgjjOicaQog%rmbqKd+=lf>|A7401Z zt%~LMTuZ*CAH1e)aa&4l=G*O9plwQ>bj)rmqAh_M{ zy!UrkEqoU7LxkYocUayj2=+n_Gb`i=6t>Rr!W1dJ0NbnFA*dxp(xJD93LZD8%brSF zE~sc1r1cHA>5Vy?7y2proAy~M2Nv3qd}BeSnO5y zKH_Dk_zI_H$izzJSH}bs-Vgd4hrgym)}BBPm;6t?To$lMsdB2KojhrpKHqw*7K<2% zbr5o>Luz;CMSRc8UV0qGr%^uvdv?;1dNyn}g!`i|yEE#C`@{5pUedKA(7X;=CQmko zV0GaM43q_rvKUXyJrlF7sE3O?Qh3bET@%zo$@gbFC${O7wppAGIu@_IW+ES2Pj2vH z|4a2qiUbd93VF*b2j|A&^Dm3nEA7}|j{+ju=9(-oA&DXZsOM~^tgN9}qlm%4?;jtO zO6L^e+^;PxzEJ*9+#{gjrDIY!88tgpOv>4VSBFZUe$57Fe2XbZ?A zY!H%&EIVXGl0tmaFWNu&WKbsi2f(}se2$O@6i}WJJHiTl!uskp1Q6vi$%d~|M5RZF zwXZEx19vOecYkPeIlrEKvWdT$Hg_9t^OW5&`$oqOm6>Zz9dF$Uqq%Q(vzh!VBIjlI zsqnU0Ct|w)-qsF&XUBvWj#C-BpGKV&mAxs{LSCWx=+{iI4d8 z>zA`gjMhqV&&*4+w6Rn;F8HT-i99cE;v(;4{pPRIo$BWfnjI5*Unt_i#W7R@I!9oW zzHLpi)97JPILPnmS11qUaM~>3Mq%yO;*CA`810H*PoCOKj{ysWcQtn8H(Z3d-L`i2 zG>BbmrQO**K?TBKAn!*}0OAFG9{c+tOIWaaXP&I1!$+)2b`YQFx^%acVF^L}C$~}Z zzG3q&`|vArS3mv$KKl!UeQ}UT*aG|HV2DIthSgm^DwqTGm#=~qQx!wK5V-~PWgsIA z);hW>xkRr0ehITBO-o*Q&m}EEi)U8%uDA4?%tO<+)9(ZW<#hqxzFh#>^S&s8wN(Na zbO^q|zVPPk-4BM(VI^9z2yD>c1`pk{c4a`LCv+OBOFqwEeBAqB=<^Dmv=B`p4eBYb z*f>%|_YAwqiNf}nVS&I_qr2i}ml}E3PpNh4zbdZ0lr3U(3AbY!3Sr@#2*j552-;^9 zr6WDd4)%yrgl8{en7m)H4r?K8O87~wtVaMU8Yn!5{78#KRmhK-YW|yeX#r&eV#D-5 ztvSafJq(VYjzX*HKDvI2aj8Y$Xp@lfXHNgPgAEqm!s^U8<~Z@82}vjHlSdgyij%Og zC^3gK&cwHb^MOk*{oWo}JCKpo2LlnS5`73!&{~7}p{9pVwsxb`Esf~M@@)$&0CI(+ z!7ZMmbvxviOG?#{Gea5`8z`07h0NSVgfMo^;bHDqDPLx#_Tp1XvU;v~wP%@KFyItZ zlWxAq8og_Ez7bdf(wjLVuw|Uep{BJ#a95cK9g68sD$SrcbZApL?B03D`~YJS%EPi) zR@s%|r=UmjqZRO)cdV?;rWlRM$tV1ID-l1f-p>6YF4qQ~F^<@!<96-jWMk0P0p@ha z$s011I0H{UKCiX)>ZZd)mn`*L%LBYPjIermTAt3`NntLd?hNVCpNw*Pj2-TKxT6pKP17Q~ho^>^3%kH3>Kc$g#`TBW zGSXJDOD`bu!|ed#Hpc5n2!{V~ZE?EEW0lTC?RAi-y~N3} zV#$WwwLJLed!GBt*4u;axP(yrC55-CNrqexsRZz*Lhc0SH3qFN&Rz{0E9av z4gbfQsU{K~*F`R#5OlRblD5MX8_@6&VPQ`?um6^4 zOYB!g9Pw$71>?_SBGx5@Hj|O-T#NTO5!je;`v#I1KN84w5bx`p?&Xs4<#T5GnAkTa{bd8g za>=y(h{bbE6F2zh6Qg8Q6K6(t054?>38P^n04}P{8{xh;eQZhdh+#v#Pcm#L33>x= zWMUs`{bu%}ig?pd-}B#jE6?Fyg4af8aK0a;JnVZUd+zZ1-Rzf1X1sCob03-3hz#N=} z>yi)ogeVN?q(66OQ>XVFWNq8seP7qm&KOKd&ZPbGk2va++aDy*xq&ZhH$)O;!mXkJ z<lx@8%0^Pb`)X%E%6Cn`>nTc`;P{iO=GQ<4VUW+#fb@igv4wKq!MYL_iRG)Gq!r=L8yE$+m&s?(EmbInIa ze85K0i`u>T6qCm!CeR~m5?b;0^2Oyrispc3eSdA)<1V@+!Vj@cIN4c-klN$b6TAca zc@jM|)2YiPY2a$XGsbMmd}iM zEt2JtHbJQ8*%s#g)8y@(L*Bj$0dHI);cR_lBLxM8)u&J09geSOAGzv5itf9oT)(PS zX_Yad$lE7K-Rm`-e~f28PcjNmkE-<0JUTo1VFd-Xp9XDsLbwwZj)c6v_W zvH}4@ya5*!Dw*ow1oGVTiHQkotr#V_{~ebT0}&f@AFT$*jF$+A92vxq3sU9y=pKR_ zFX4apP7KUavY>!kfe9&p~6Y$g2m-^*1PB2C!KX5mff2 z#|3RbEv+~}E*a|UQ{xu`$&`dDz}Udpku?1xWYCN?ogY&8dXVgue%_VG`H?a}`z6l` zyTPY_iayPC`OehOpo}#7oc^dlEO$7K(h3W~!{5DYoo$)Gfj?&zN4GKsay?_|8{zK& zUE`L9%!E3xR-?yiFz`QJh*-&14MzM8kO)ZyklUxKdG^cptvhqarN8!AkE~Kp@Also z7nje@hS;potjjDinPCPA)6Rh5;o%bPBDuOz962t)FNK0A)HloHnwolG3mVFu8DFb| zE!$h-sQ_|7lW*~AZ~6XWdRSEtYGAm3nmQ5J)s~-+7U1W%9Q{NC@fq0xC}dH3c>mCul?C=MNs~@Ldpw*sYIkG717fK(9R_rb%uDZM?eL zfUn%#TnOZIX8`ii@#x?nGUSwB2@|X{hD`_`eN|Xse(Ggq@kOtkG}V`QrLqnEUz8`F zh^KJPUF&{WMv12|oX1s~qy-}lZDE%s@QiBbNgH`yU1HD(IkaljrtYGv&P+`e^SiyQ zso~%FrKj+3Y+Sg$sd|o~7zLwx;$zv&_AbCOLodC3e7tjmYO_whmrse;? zN)1p*O5ZJcNy!;=Vg(t!>_Ak)D_zPV* zK{p0#{k7F?Qk5d|-HKykmumPFdT;LAvJCxZ76tU);4`GG&|fP;^0eLq)dJ<6@e63+ z$oZ%081uVbLMe$8m-<01&B{xd>=1c;(s7)yFz>XU291B2ceL(Rw-Tdg4ER1ke#ME zfvw>%TiNB$F(Ac)a>>q&SF10rfWRZ7rXYv%Beix@GQ(kk8z^&YUG~J}AeoXrxa!%2 z;%rij<72qMCloPQ|l*#U~+y? zk7cWFm2r6;1VZ`Vxm~+Y784NwxF-ttwkFHc?+W{V((W8CAdZzsH}}kb*<|&qwQZ;H zhXsd#EOaEA6FT=t775|co7R17qB}#sZm>ZJM^-v?x=Ys#B`Mx|CNRq0RwXwQSY>fz zzm@(PomsT68xgYmf2zySwsuT~po1t5=?>zU9TBq|K4}Iat2t`fdI9MNW8{wk zgiOX&42U4m0usxWu1$(8W3({+fyS&$;wjrpwonP0bQ>dbrtNTUQ>^qada=`ooS%2uV-w`^}oQm&C4k60`zcxwQLHKfqN4| zJt^s6^eBU%8D=oE2#DRBKchnM*YeA~T$IGiiZUo=T^F+jm-2UU#3Fe4pm7=gRyO&M zIOuGJvQPw?C3V34@&cd=Pd7S4fQQ~+S(>|W(}bm4#$zElhPk7|^RTmw$#dc*@Q1P| z6m4)3yyD_|v+z>|TF1xh0c@#hWC(oxhnj{88l1wZO4Kcd23VNp#0fI^LD~DqFev!u zhs-t6A3Rk|1R*9YW>>2w#Czylj@vHU*cdC1>* z;YMIi3o8JqF@9j8WC9K}M50uM^H())?-4r%Jgq^POqV_nWF;^du$;-i5yjm;b@5}l z^`e0HXS%ufz!z*;OkhU=H8E0-0mYIvRxP*NbPsbz1*(~{PL?@6%(-`T$Uj>;vtDwK zT|$p+eYoAxpzMD*O&7@CZjJX{Syp`B6k$njETd|`+SSe_BLd_?6NdwQ#$&Hdz`B{= zs6sL%>b(yaZvW7d|C^-&gi+m38!zUz-g9kK#hux1jjuO&w#%adZT|VKK-ZylEpw#G zc4tn7vVSJyRBZqm($m4~`@j!S%#s}k^H;hWQsO1+6hInwwAtBuD(rjWFylV7L__)} z@gcQ``Em7w7Z~rV^7!N;>5_9~a-Z8XZ}#xhblh5ooirB30c2a1|J^)iQFVF@D#rGF zBnAFZ$Vlta{0^%0k+0zdrlw%@eu$w|8pD)FnVnOm^S#V z(R4`c?LEdf559pv*{@p#VQggZG0h%&ki6H(jFt=4{Woe+eZYRu z4)=8VuK0IB9bNK&!`oB<0W-b$36sh8{_PS(7WU(mI8^Ju>GV}{n!3G6xf10dEyUeY z73d5Do*f3A6Ypq@TMq(FY6P*#K8BLO!)2tT?WUIeGcHZq_YE)+D{db=gtLsq-()P^ z&|cOB{27LO{{F5GYvRx$ekbTF{xHU_01NTnNS61E{$UI~CNjC;3GoI65!}URIAxE+ zE^xTBT0dQa?sGJv}gx?XtrN}jcBocdx2;PMSi-BXmhIq%ZLYZ{J1MZI4 zA5hABKK?f>HW_qgls0|bzf1p(E>Cs`2|?z&f@$Qc3{RQ|vZe=zWHQ`JFUQqa&1w|W zV8&!6HKjQLFb7#mhA@Z6{_z4ozoP*cg;+TUxX8Av_rCnDi-bX@#*JA;`@F-!W|$>G z{c&O{_%r+P0HaPR%`S;%3t01``sTx#(8x z{9yHru8|Pl#rXxaWhT)>qCiQ6Rzygbpx~N<`*{kENhcYfJn_P#+V2Mk3tdQ?z1_3* z85WavwLp8zU<*4EC-bCQF%2GAr9;+Xg|XUV5L7XIz-UgsC!X)UaA$@a&%(_)Tj*C1 zg0Y1`N0uK-!u)uGBt~L*6SLw5mTdfS&M49tR37GxrkYvZ8HC!)LA1LQ6(h_Qo!^ms z?Q)Icd){XiIE0vy3agOFO^{ixy5^^adAln1lAqDlhTmwNRGASJz^#P_ch^&@r#+?H za8-Q_tCBZ?EhGeLW(eVtjW2VOU-a)x$4i8)*Rm}oj|3Suqa({khOKuqVy)aj%kR_2 zZ6zI{jDZqsg-<@V6*_t@zcJ{1uc^jf)qw8XzYlA_z;l0`WNMvx8jX?#-0`2Bi*}V% zJf2CQ94ZObkf6S1I;S~YFg-l3NtwY;m|fJz#)3ygxiOE?U@=<);@T=#=)O)*0PV}Q z;dzg7q22O#M{RcBSeyn1mj$XPfyD6=iW2b;kKwcdIbG>9*|HMwP#g>=w~Iu{5*2N( z7=1a-#~aIjL{N)&{++Psc*rLjFY(wWnnp&CFRYNykP%(M!<;3$jc80dSBmZy%iG7S zF(Bw@TR&Z>0d*1RUJNFLO9RzZc?q9FS^zxciw%o;%|613j!5hN(oLOt!3dNyF+s<- zkHjoj@J-p}Ag)Z%V3KaSMY42ekkf}6wBn^23y$s#92k8%A$+@XC6PKg5)YBaQ-x%# zJw{<7v(HX2#hGfY@vj&MqdX{US=8ST_P69gz2jMFnxKtfBL7X50N7FbcA?RUH~h|(!XWS zl!*S>zAmg)>Pa!e2%y05^t7Kd6}d^b3P<0--tp#s3bPU=$N9^BThbiW3JBtHNL>Gcc)2_eZk9pGAY@u|&rQ z1OU9|V&f4~by^Hv@^PA|QMwOr%gCMCBZ41G(d6Tk3Yp<(J#7y6#obpoiK-)5@V^7& zL-UEu@ZK&XyPs@ZdLG*!H6ryOu-?3EB{0Idz`z zAjD)cB;;i`T$P;mY^vlMrQvQqf(L_Siqkeo4g;U9P#a`Z*YTcj2&D1X zO*He`z6yZ}Ho}+@fmN$!D-%It8Jvhd!|h1M%9o0=jHYg8cZ$AaSCv(?bWFO5SR_=iGZOn+8m44wxx+(O*1Iu{TFrj0VyA$I08?kMP!ndwH^HAp z(BFh*dTw@Q-3_mjGgdhu+eUA*F6UHmSM8f<{(L$3<&?L;=nKzR5I8P;;Le2o9x;TNC~}`-eosEG4J}Zlc=z&iyUPbAs=VT_ zol3>b1f!}OJ_(CsZ~e}!rBrSlaZ>i&*s6@%B3N(1QL~w9V*pN?>z?qN50b~QBB?bp z(2%)fR6$!TnVzQ5H<XP+n$*8&W!HL6ZDdT@`Iz@gQJV8V6Zobn zL}I-MvAXMf&b=eDF)lcH{f*ovZPZ@R zJW?0C|GD%ja%DmJrF<{n{p;b96GH8DImiuZw^6#$&B_mNvo8LNHobh<5B{6LaZ>K9 zz?PeaS>DD`*-BK5HaD(|5&FMa+liZ^FnW!mzlCHA{34kR>EcOoVWxd4SyC^$Gq%^X z)~ZVWI`%_Jo&!FoyUFqvg1?n~yj3aIsG6>9y58=5K02`|=>XuHA|PB>@{Yg){%n(O z@T-vs4i5oJP%EDxb|(GBJzc&Pnu+a|KUM4Dw;FX&`eCs7V_8x_EW>NJ#8cNWzQE$i zI-hx%^eOH`j_BJSM6gnV;|jxd{$mx>BhZ*6xOCB50Nr;h$t8-NH;WjU> z1k!NPn5!0CccWtQbWD!Nt|6=fn1R7I2(BT2Au z4P0n%jY>GRZs(rnfC;sSZcrsqWu^8Y)qlh(OwzGN#P+|~H{s_eX?@b0sZswhH=HA1 zwf_HKgWJ`{9EI^`zba#?!&cXccow`fcxWRx7rBYY9BUl!f>lQCAL-L{*U_L}p&7&b za2d&8TyAcHF?15E2FtsHk4r&qL1uzw%ig_?Z7*%}B`I^=9{Z(8pDKHbM=xYsTuk!S z(OrA1q=?@1YHaL-RR%H-K0VZF_-OI9nln2?%xQ|L9%A=qE4p}ntwDeFKJSazjGghcAoj(AAf1%(VsszXwM=K6Yqqj>fRaLEWmnrb@{(G%u>^8444&a;M44; zC|~I(CB-6n^yMZj3@0plO9XuVYH$fS#{a=9O(8AkZU^%r^w+ok7ak9-u?hyp)F}Nv zOa0IgQ>mxfJal*V#-zR&+qH-D`YUs_P6-q|753>{?9JM}9ydD$Jk;yr(!Cb`g4S$p z0dsZ5!;9P3Ol;lG?$oHU7=#QTUATdz7EnWBxMoCgZ{8T&h#9pAlSKHXiRp#4%rr;} zp^?+p*$gyGKod8;YGX{vQ-DPm=_7EXj`*3Yu8NOo&8P51@|{RiwT=;caJWd zMu%odDDXy|CPji<>0gGl7(99|bQZ8^RTMM-5U%j#TLP$Ix{>layo5&sFK~l#rjm&U z5?#_#7nmr=*Ya$T&q*-`7=zUzT{J>n(_p`-s3CD+v5;pkj|s(fhhi~mo(pinQ}^D;^3oCm~y{-UNr5(fr1;6yue_pZwruwhMmFK_yCpY z|EQ82maxabU!{Q#sStHr$;%F?QgsGAV>GA#PUHUg(5}PsxV^0WK|V9zcLh@W7q8%} z1qzu9CqROzwQeAXsUAy?oUT1LvA$SW*roT4JdCpL<@qEx*{np6Anu?T) z0h>030)8PMg)wFXB?H!mH^I+-b=V^RD}HEf`~V#+^K$_u6!v%3j3~W1nFO>~ROgo# zU%z5*Dj;oIjfN1NKN%y`Tg%p#S0;HVP$#LXE9RjVVeVQi;mMA5UXykIU6*xyTksUJ zP|w=PoEAq=qN8XxuJ^m5Yq64PE;mOMDEnvswxSNGq+AI_6Na7nI(>Noqlg|23&J#` zPF)E^0M!CMB7z%Yg4+r60SkU`@b$M1VVrJdtJ9$|aT;saWZ`1*I+{hmO}>&++KGrw z1`2-r^=<-y{D2o(BOJI;D3y-<_qromgfc!<#=+WpdyZtK{pxH|ro8lHDi8$Hr-K}+ zWS&5PI$u9%-(x;ppfoy!0v#Ewh6X=xF@CsOhtBZxcOrq4AzRI5?{#|+knBe*a#9f& zNL|EmWRvdK8LN!~=TQl>eS^_VF+G;({f{j8@tdo!B2LF4eCCoa28E@cwc2nwlU(nG9n0>if6KBtnRUHBbqFZRvsyxV&rh;3P-9XndY8FZ*?fL)g9NtTTQcbXsfyI5C8HVEP}ydl4wzW) z*cP9q8g%7PgdT9xTj#4RF;gr^4^_81*~cCM1gKeGhG%t$llbZvad?9p`?ivAQCL3P zEBrF2#oTv$CugYY4n(Lq>xbA~Zc(#igtOWPf&)`U4Ao954xtM}w|Kx6_!+qrUkFuY zR=kGkP*g)PS6;&I2ci_dtkqVw(dr{ZP%{bP$8$~EgI5BNe1b=zNWEc}NE--^4zha} zZu;BUtc!lL)X#}QJ^X}H@zyw_tZP)(6wIF38DBt+4$=DQTTo|=Cet5bf7v1m#L0Q| z4@+^uTk4uBHw-U}p3*e#l<=@X=@zsaKe_89iT_f-f;ZsF&f*uF#k6Su6>a>ICk@ED zvp5o6j1Z0gpBBN|`ntp!%$ERg$sgq*`A~xKs(XI0N24R<>U~3s!LJ&gfkupwA7P!l zP=00kWVHax*C_^xDnbUsJmyoJo?p64uoTN&hagUG^xY48p;j$=-+9E*IPH5 z12-izU^z~T@bG2;i0oq-P|tB%sP?1~2NL{Ul^&ybRS1Q!Tj~u}=G#zhJDpc_<=M-L z8w)Ar6R`BL7+d{XIhj`hq$T zYp^O&FjvFGxvXG7sLZWVoHqZ>0H&4_Q#z4bV-EdIQYxJBk=!@3R+|%))gptA2QCDt zT!886X>Npw>SI{hSIa>#IH}<4_K{R*eO4q;RQsWUE>j815N}Fx%OLLn2Pzo7JwPwe z1G(0cfKVV3poZ?@7(S6boRK z?PwhLBR5WYq4wM|rfPJj$p0>i8#g1$JRHD$1?q=O%i;%hRfA+fd!&MAZHMRI_8@bx zsHpx|85bAVK#mvaEYPwVh(pE%696z>Gph5kMtigv==m_7o}>Eu+OtyA`EN-@MMY)h zrlro9Aa9|qz5P1+x79N3cklX!1P3KhZ8Ggh_n%h53Pw-=$oz>)$#yqZwUlnnzTCY% zj`d%+Oj}(rtDUIS23jXupOF0#`fXTLU!TPL6i6TfTxZ_f;?H}<7G+HY2 z{v$S#n z$@X*@7n>VE&>R+q6ZAVIwsvzN1LG#E$aBfTi3P}84jp}OSN_+Y#@gI%UBu*_#m6K}-Da_Xj8fmYI_O>DLG(L_lI$qL)C zILbHtPj7?R1}tBZoB$)60DYW6FJEKEW4<2@lrS@$sAO8LW<`cKzi?5^nJ`4|$xwiJ zkx~i@SU`Y!oN1Ql^KSy~CVsF;sgS#QN(|cKhsv?)2lfE1jX7_D!jQ*TIgZEvRk_f& zk4>AQ*g22gjo4&zk1dU)Tp^Fgz@dW)a7a0CiwObx2)L1n^#6k!$#9|ILk71$>LWKI zC(z!VxBar2%npmK?ZHK4Vx)7C4s&Z!07;Mp-?UK!D2~@H9oOcWX5Vah9Fn}#GR0mg z_wnURn9pXHoULg!yiu-Ci>;r`Bkj)&n6PpciLQF|E8S8Gayk|aHXg} zr$Ne9Pf7}P7yTtWOL-0XyRoz0WaBVo{2mHPONVjM*7Lk9iTv^Ey`8V2ZC};bGEQZC z;Q?iLVcGir&uLb>+@-DN%7{CW-;NB4Z3TwY(h9${ddT-Za6Obrcii6=>uA-i;0F@N zdTnzmYmgBmr=IE_7Ks7tJ7Q4xfr3fVAzqB5OIiFyp}q(nr2a-EJ}J(pklCS8|+fj zz&YQdrOa*q3ael7jCDFQ|N5S!iz^?$zFl_6_r(EEK0qB+hGPEGS|i7mV9W0Cma*uz z9JH0uEY{Ji3A3yVB=u{E(C$mG%FroCdHSjst>8?s@VI^!Wr%d(MP^7GXI55u;Vl2U zUBUYN+h&7U=#=Y%=BBMz3a7^~k|MJ^kLKxHZ%&g?!Vsbn+h8wFF}8i{$vu+ga^r;L zs2*Zh4K3e?1Iu~>)$1jc_Cbc3qdN`Wca7PHvm-tjmr>Wcge8g`I=dW~0~so>rq2?` zxM$bxutfLtI7P&|M4=mLpCpOKnJ)?qOpNCF%bBy~Dcm7L?kVe1Ff}{=#!9r(lV%jH z&3Z`PG*;Nz@4^9Ht||2I1>R|*dv4*`>A>?< zmja_yRR^H^Jo{;v(Tl`>34QbypZI`U^;l@rvz5xKfi-@vw35umiDV{|#0ff3P)qQ$ zQX7M@wHCejs`fV>=e1~uiHXx997(_1;ySip$}N?@m+@G495=*1=%{#hA)8Rs$c$t~ zT=1K`mwE2s{6K^zd}lq4L#LGUL%c-fz?*WN<}~t1?2D^svKmYWWqbtnpR23>hD^pz zkGJ0ke~x!{?@5OF8!M;EHR8hZ_1VMnZBeM^MTn(D-2+$*RE+v&n{TvuD)u8sYf`*X zw0^k$OumtNdh+uDUrT=+%h4V`pCT|{%M#~0_X3%vkbyu$B213epsQ2L_vxsuRPHN4 z*Uxly!zChD^hCpsDFCw&|9@{5aNv@S@eDBU96sl?DBDcudyIZ^}CQc8)^Eh61LbSn+gF~A_wFqAN~_ru@s z+;h(J+~>LH-alYqzS!&A-&*f}*Spq!uc@v`fJ=pof`USztR%0Ef`a-R_#1}(0Qij~ z-X{Qjpn7U6%A!<`(d+>Kpxev5ltDqM`G9w0g>iolSjor}1%0MeQE!*$U2xx5DJ-=%RMj7xR%pJJ{v4t$LK!ry2>V8}3f_DEOgX-eM* z3X|bMt@kz7swGKr$f@U9&O&;Rc8?!DU}O2RWRO@o9rFC^P)&`t)U`41=H1+@*>a=P zc|rg4jCSPFpTMA8o6(FvBN+|$EcI#74tNUDR9@~W%Ewda|51>Z$*}kOKx%XYvR;}<8j)}rRK)R2QAL~n%QoMM&~`Y z!-dr=$_j1VFdz@`hS{AhnE+(R27yOA%xw$k|d?dAbVUp6Gpo><}RrO=3kr-f)m zvBToX8#0LlR52u~q_PycuL4z^er&Eo`D!g!UqZn)mzE{9)Fx)Z9}d z?tTK_JQEi;)zj0X)U?kHJiqPi&=tnOiE(Gf&jb{_ja8sW+s!03@v};-5 zL2rkH?brpL-c1AtZp38S2z(5|ou5!M!HwX4b($e>ve~=G^WxrPvxo2zH8+olS4=P? zWcwAdA!}@h+*3bl&=0x8Wb=e@*LY%^=%w>Ck014zQQSNA&-@Yi%F4=ErJQ5i*`g~w zbNXrkU_Z-NckNMsHar14aqGFTOxj+x?hQSIWKN$nelP&z(jTHwGcpJNe4N0Q=k8e;R zIgMdNh+-7&NV_Av8F9VywUy&2#qI#vI-Yb0Gq0n5mKZa<<9MvlLh1&E9Y6zA5)4>V zU=mkVT9-)zdh$b96j!xfXwD-+(%lc5+Fl3APZR`-59#4qguS{B&#k+zcVll0D)ww-$3 zo@dI${8(l=M-h+o#G*?@!FAD`9uhYf>xa{Zf^X&S_^Jo#g6=1o;Wa)MIaq?fO@Jm zmotV6GY~p0vK-&}_*t!;+14H{A=oDM{5C4;PpGh;Wmc9m7D%BPG~LphK#07Wo`?Cyrf^?Nj0j!ACF?vPa+| z*0A(57fcW*1%ci@w(O$PSq36$v9xWWBej^aqzgQ8T~mUuxhh zpB1v-3Pyoc7cT=>C$}T!-q?<}+oKwmOxwUeYv&Kv>`Y&oxNm|x&o*1>j7^ukX1-Pa zv3VvztgiF+lJG?y*C$0=X~%D{;h`b8`x9=%>aH_wB~)v?kB;5)qO^$&zX}}e`cenW zxI9u_^=vkn(sIz)HV&RmribOI7LNXkn`Ck6_*uHsv?6Ab$M-o)YsKyfRHB5na4Sq< zG`(l}0vCn_Lq$y;Y1KXtPu~hlR(UDuG9;W#^)mit5kl&~1b@TRPOYrC?CQLLRP(a0 z8%vhpCYiB&0Fso5naYcVH!Dc*^1u2feL|@HN5(Ms*hU*wi2SPe@&CJh9=;K=h50@Cd!LNo8E1eo-nys z0=yJT7?z3gd_h9+YW@3}o07_StUOI~+>~atl1q6ab{iqruvU53oNCpYJm|uZzd64w=HCIGqgus7)T=oO`iZ8ps90>FoH2%D z#AHxVTr>5vCn|m$=x~04(~ZDL#E)cg!_N9PHmDBJtvZklf6t9R~oKC_z*t`Z{=GtVM!xG zr0)Q8kkSarBKd*$E;{*ZC}pHi(`(BAa(unPnG!~yl`@!WwlLGxh4KW2wBWhxVxL9e z=-Wntuxkjf=so7J&i+x`T(6Cf&@8$5XiqlG|NeW>7xa)*2D?eWqO9P%J_N!xEKFnI zi8@O#R&uo5x1=PRXfU!Y&D+VunKR6PZ~ySP6z13&h?F=DU;m+X1xF*q?u7*9fo%2= zq97eRa8$t=fm`8Dd}O ze$nNK03!>4K|PHq!>&J&jcw>P6KnoVHmOupbcBOY zk`6<;(n~?tX{sTqdS@aD@B+Cd7g;dKR7Bq2m8tX|A=i#2N}} zK6ba4UD}0TBX%^whdCPW-Qq`mvHz|qf$Yz-7n4<7X#_C`2!jnIYH-&&{Ke2=aR5A= zC7e7vB$S12X<|bxhPKp??Z3DM?{84CsU58DpQ%kh1c@0g5?;1mhU{nIuFL1mEhJPhDF~U4K!drPs(P568D{~JG zA#bnA85#Fe(Dq_t7+j;MfCX?*)1nwtivkMq_HLL*PY!ra`iC136Z#=G_9hQWF8qA7ytCs4zwS`yAFj`70Izagy@PFUZ=Rp~adXeHMXH?3 z>1yk?4h2JrKPU3)#?_J{5=!f$Jfu$u*~QDabfNy$lhpYzqo`JgkJDJ7jRd2V zQ+X)C>7IBL$mVmGJY@#|k!wt4X<4gbVVyb#%vhPG*C&KsdjHnH``f_A$l3JOJIVqv2q-jo($HI_R+-sTPa;xnJvR+ChaV=#9) z66k|Hp)mzqCJIeidAaBlMmE<6gOUp0+hXrM!W}xL%5X{Y&H`7o-fL&GRzPXqLi`5&!be*CVIIfDNcNKtp)(;* zG8N!FPemhk976+z9ws;IHK1~0eIGNWkPp27?Ma~MIL0eKR+H7b?H(X5aKV8j_$&~{kkz!iJH@u zU&zzIk`?1rMXJS0ku^iO5XHaY*eScags zcQ&5iwjLrt$MO%5a?@KLzi1FgcbweJjI_9KvVbKZT>MpEFEyh4Q(uA#$dEEd^rP#q zhN{r%m^l6(5}`~Jg;$mvzlc$&D^bhJYQMnDU-8)bOkLuy?Ytd zto}`NAaqXZXwvD<2n%EPfKul#WiE+sWLK&VN(YQ)E}`z(6$zM$UQ_PIy!swAIVCu` zd^;CKZ&yBEHWKLTOEJ*lwKF-gHWsSdzin5L!`$yf!7uD2U67b+wD9uOLKS5=$#KDT zBzsA%fcq7~i>JGOp2=yECh?6TiUuEBo*a+=UsRhB-Y!H`}VplCq;IpDVA`VN_> z@c55}w}A9%%{h;cJ53E4 z*=m^8H$jZ{O4w|dhyJ76@FbbCZGU|_Y5ckZXH{@8C>+@J_IH7(p$pPML_hfs2TXi}UvO4zPv{!%lns z2q6h4)neA6j``A7#;cAvs)^0RB4j1PQ+-#CZXdPfc!oVP5}O-e{&X|*SpQC6wSKdK zCcsGpUjY@hcoM`o+C{)$K(P|=AuQbKpmOfM>X9)UZ5X*r;Ok@X)0&C~@9F|uhaK$@ z$%mhkPI-0H;b6^)u-OA~`V>@l8>Yr?vmw}EH4d{23bbqs^H51&&N?flfTgd>-8y*V z%^GiKKz29zq|c{J9nYjCZZ>)tEv@PizkiTz6v)75P2JXK2szYALHV&NFremZ__D+| z6Kv%2EPp778prCBfHT9jQcJ9hClf7t%=LSr@34yD6K;MDlz2wL2Z%^o0SG+Elb0Jg zwicll+o^fRjfVLBR>2%==)54I-oYBX;jw(L| zh?eGn;dYSZ<;3b;azdMvGe)LUPM)px8*FC`Q8@*b5QpJ*T3PEcj_9q^uAdYaaX`ZhK7cooSe+g z>Pxzk_DHW3aldoZR-?=N|?> zt$4NcVZe~1?mecT&y^s;zjh9VgsS~(hwpUEvTs!=q$UaO7b4yQM7OLnD zp#E5sMKNL)91KC2zR(zm2|m5ud4EO8OXovT=6AWYin&;L7GKGuRDA2Zoa0~n?BU95 zEU(@5qMWxn*kub|eUHjNL)~Fe*NTdCt88UX*j%NViMICS^mLL6((eHP>yHpWKp)^^ zFYLr~KZsnJu3o8bnw4Dq=482N{g{Lt<=s3?w>RPNZ0}Z@@c`#t-|C7d`IM%XR81 zuW~HQ2>;9lUH3e%R+sSDHb`n7(Ku{6CIslMshSY z`Hg0uOVHN)7~Xd2zw|BdRp*-lhF2V%tc{H;0%ExIx9@dIgm-s4{<20A^25|SF=Y3K z9$mnnqjg%|w%IaYgalrfN&yQRR&vHj+u9bgs;Wi0yZ9)wHFyX#(<+mmYST8$%y5a)VjF0bUaiLuda(sbSaj_;Ysg}F{*AW5cQZ#Pz5PfQf;>|Ga-Hggu` z3^~2&JSOnFU~Zc`Y~?jM-CMmJQzrfH(!7!4?Z4mcR4duRo3w02De?q$D&Q$E=>~|n zAN}(n3Zl4tK-81mU^s2H{K_ui7kEqR&!x*X(WRpM&8PD%DIl9t7SB?;D43jtP*F)b zxMM9MR0=vMD0de8-I*gVr#iSymw23y;z3C)X^Hl^ql`jqCSZCxy2$Y#%*@OO2M28& zyb<6J=GaIYj?rp0%pp?P`vBN`B#=5>dxr;?mRE#Bo|r6%pZkPY(CGFu2eRUM{Ri)2gIMF{qNL~opWtn>oJkpSVQ)roZ2oRSu1!C) zrz_CL20dh~GHNimT<||``w$iyw z;|)j)zrfzJ0T~$~DH@a$;)H(Ij?NyS;J6BXy_CvLZ3?Z9GIzKrJkXNABmH}WwzaV| za}yI2Q&W5!K;dx=cFx%PJFr0HHES-x_)YhQeXeK9&rJ7pyt;5tI<#aDd@dm8QW&Y^ zm7=A+tuJvjzgLj=b}K`Sdh%Wk~JJbGU`%vt2Dw_qG;}z;o1CQp;Ub#LtN@$}XD9Og2`3Z;4}aY)}}=g)}My=HeVdTx^i$I&ywEI7DrA=kzhrZ?$lb1k7s z53`3_C}3+x&H#xZe|AF2ua^XR)E^EeuWSxDiKTqBEK=U!EyI!WVS!QDs6OaJ%j=Oe zAceZvk4-vNw>3aRL!+goow73znBV!Hl$_kq)Wj)#{I1}ix6%skSUwRZ-be{Ud5!6% zG$Uo&up4&nQ;g$jVOj|D;n;ht+YTgJ|!U7!7&v&%@X0n}=ntS-euc`I)V)p@Q ztc^o;$g1eAlcnY7nwpxnwl*k~BA!!3eYVnU@8W>1hql0kY7OzyMgX#i##uz#ZDE_T zEE;khZI`-bf!2}f&yAsotRLN}(Zl@?gh)#Z#e#5Z@^R@tyFs=Jr;ngl`ZC`FpyIl1 z?{kNPRGI|BTIbMeMc*k~t1Enl`OW!0XE^cF*3nvJCr%H^c@JNyeHQ|fpd2Z;7o0ch zb||*Kk$jB)b zJJ5jROxuw??0Pj2%w6m;$=-_cQ#F;xmXUk?TU;3A@l8an$5K!(An$tNefj`MP+cZM z31bpSSnf)2*aJnk|2K{7?#G8OuR_EI>xtNTKG=w84lyx70j#OXju6f%EmEF|v z_AX~>jqcD%IPvoKM*Y6QYAM}ZSs5Q!KX8_gvlbsMz29rADUlnX6w25{fOzq#vTxuE z*Yi*}6Z!JQKEp0~^)H&a|q6>E)U_u72%p$$QzsG^x ze0@a-!G8jL(*i%>1`D?GMOr0kh_Js^m(gFDm_TvF^TJ(W-PqUw>K4^{V9d=&3uHaC z$xYe=4vUzO_lx3Ish^ymr*6(YhRrDK7Ws8&&rA?Uk|GOnj`uR>Et<`bQ!P5i;LhMbwF?A7a~3tE_0?Jd@`S1>QU+vgv;I?AeO2I?e(+im)XWIzi3DoL^rp zbeW`Du&pg0dypN!mTv-N?zZH&3R6DNVYF@Z)=5o#{?QUE?a0>JcN^kXp{-MCty*Yb zk_^;Q=tkMQf`$o?P&|@6G87*pSppTN#{thH zJYK)%Pq+$s^$=CATH=Mx#*=SuQU;}fT2rZvjg);vqjG$GU+Z8=3kmxfS{#~F-pACN z%{=|&d(=0DzYD-J8KC>xcg3hlFv`%Exs@WvcE^x@>9}t*{rxCOL_ojbRwk*{7)BJl}Kuct+rQ8;U zIfm$N^5-AA%R%>mCH3n%3KH~CDy>^$X44>I|@F%KP&0XD@q=Snh&; zwt)NxZsJB+V23tPce2l03lhIhm`Dor-pju=kJbL&S=nyAq^P_Jk=&N>+Gi*?*YEBZ zdTvf|$hxV!+y3cOO+e(=1Rx4;_67!&ta<}CWPa7mQGbtJn_48XEh0i>F!_8*Z`KjD zMR364MzV8IG>c_5t$J_MC6Fl4PGj@2qK5x%69(dizWT9i7-%|yA2I^diYR;#c|B(H zDQ+;_Poz{sVV0e!$1L$4sddNny1?|tElJ(9xNRz#Uw%FK&jSfSZhX*WA-2o*!sqB) z*u%TSnX*f9iRe#w*pQd^E2pMtDkBUl)!^9OET%LCtKC&kpD>SBwXm|xaTT@T;6uA9 z+C5K0p2=A$(D@MXh4m{O8jOTgqutFi@ycw&moLB$cBV<$C z$`fRn9TKFxTFCgpM*48U|L{*BJZKNOochvD1dh^DOr|i1aqqyuvR9nNIa-bX>!>*b zG`D$vH_8-q={czKu^>BOl=kbDmlBqP*SsPgGB8Hm9*K&B= zE$WUbpL`^=5DoM=#jrl9$12QyflHosIZ&@d@%_(jby#dOtEne!&d_$lQ88M@OR2ND zAop++ioF)USn&%Ng5nQk`-dXrdrK>{5#hs;Jfu zD>h8Q6Pw?fz$`$}oZDzg?iQhEU|Cdo2$}0KC3P82&ILIgAHHrW~ED;X{M7#aj^4u!Z=dU-DmdI9da!iA@u1~No@kuyj<6>iv zgaes|AkaUjF}%Fa*Xx2+w{aS(vd}2qoUZob;_WO!*4^{I6CBp8Yu6)6`|QFI*?h($ zobPo02hZmIy|!xQW>s+Mn%bakxQLknCdUyB;4UX`{*UAHFi7J_jyH4gl;W4RNYK}V zx!c|BNL%;Svw_(a$n{))Qv_w4q5N*}s_H^v>q5E1xBvAJIkAozt zONw{L7&o`uiNPzU*U02wv}<(Q*bpHx0Y=!%ntEDXd_)+1VbVWeBlrE!4iaNnmOH72 zRNX`3Nl9OtUxZVku~?aoq3TOX##Bs2jS?u?J5s-6S-#77+_m2<`>I#T-rdkHeWT`c z%``Dm<7XWCsIiJ2ck3q&?GjEdFe9v4ev!}?6T-$e2m(Nr2(i%gBm;|>T~D<6S8XQF ziK#y6w-jzBuXE3gnt2!>E3|dNaJL~M9QsMbClYqRM$B(5ARPhQ&1f!dSdi4Dj z`=~|;Jfp4!UcIh~(1sMVBSx(#@nC*|T(MxtJ^cQ2XRYe39iH^oB!RkT*w`vUN!IUB zI*1`UXWomM)M`Mef#I8PJV*hKeZtvI@l(CE)QbU{SE(m zc%=q-f-_16)#UR;kNh`*FnybpP}zJnY=_OUSqx^XmTZds0eyq*hX|p0{5o4ide?IC zYxAME?sYh+qntL3FxqhN91}2;+zCuI@8b(Jad;A&O|#s>oplpgO2X*G(<&0k-50R(Fc z2Uuiyu}Xn*oGcW;j5B~MuFz%~^a|{(-EF1>y^vUVb{d4D&(V7kef|88SHGMJ^F`rQ zJQ`t-MS*!#-3t3dxuPVhmpKjKvCBF0a$Vd`sT=Z+%x8G;yL{)$N9y*nmZnUn}iN5WVZhtrE8NISCg4lK234!#3%CR{UDQTR;1ZOE$NyeF zMt~eP(_mQ66fjb23+Y0M0oM zI{ba{ng~QX`O%x>qeDqqX8-E%kJxJn)%&+%6VC6$@%0e`^`FT5wlXW)-fU1oGDat$ zFQg%g>N7RZ?)hfg2xhc9ozdrApZENvAUD5mq&rVx=DyQMmuk$Ts8CGwfrRL$|@>x-m0%6;M z*L#i%44a=XcY^{~B$sd*_}KZ@zC7uH%XCCqg4@e4qoFc41NAe4ONrgF)L%x<#6FFd z71d3US-dw^&aP1JR{f3!Q;hSRU20i*RY%fgUZi-iJn(GKKLdy zl?;OKJvBTO760_%Jae(!g-+K=i1JOJTkqr0R|_Sfp))FRKw0t@2S6IX2N2H*ojQ}F z=Ui(v!|De)$do}%;6Z^*z=O-Z*JJ9XV6~2wsR>B0#rX=cNic2r3+Uilmc7^ z8qUvsIAUKdu(uhrg#2A+=j``&DHvgOPl19jfKiS>J6sOmT3_9mSV7fcQ>#z=GqJ^o zZm#XkZ8tW>sRyi>H!#o6$Nca6o<8!Nkint}x|sWXv`#-xNr$jQ?d{zgmw-ILO9)(# z6O>ouNCwK{vN$OIeKfxCJ4HG_3g4k5kFIcg@ zLJ_z{oA8VCy79ZmWaRwz*?NWOAncmM+O?}P1Rd5*cbcW&fGxuxQ=LSEwuevRd2_4? zbXB4aQ=>(?+MU(*_D#>23Avd9Eo<0Ov7%Sok1y~NPrga>arHb1m;0uc<*WT_U2Rsz z?^RcIongC+6#r55Ape9=S=7j~|Eq8Y%vrAQUDSiYBO~d02IhVk|7k0Z)P5BIZ|tiA zT_*uV3EwxXbd-PaE%y<^Di%Brbi#E2OJ31HeC052E|rvxmp6B05PNb4&9H=?K4w&= zaY=9HbLJEtv!4G%zmpI6MHaqT7u=wu9w`AASB&c)ZMo_T8Jan$)@mnYX2M+-MKtt$ zpKjHgs{~{Ghy3)8-b@lcHh@%W^|*LmYNH1A3E2dHQm!T^3hw)505}~77qkx4QVcFa zqFH%Ptt|9P!Dtt8Cy7K{i}qh)&&q|a{OXgIYTZe0MxCTBFTV9sF%qpB_bGa}+;~60 zZGq*caF~~)Rx^K`xVL_ICcb`ztBEsxmI+ ztIY}~dk+vR*LJ@nRSO?m3I4%>%lm^IJ9qeAOf@kb>xbFzUa;Zk)b1}L%h#nd)($%RTDra zw_B*yDp1&C0w1mTyZ=md6f3ASRV-37nWHS`-qz(f`(m^{n-Zu;_ccaW ztXiKU9m!u59~sa-if)d5XvihQ_fpQ%!~~V<0X5BUCsoIvf9j86L~7((#zHI=oc!>d zLLF)Py&-S!p~h^hbCUTQ?k1LBsk*p=#`R+x&*6yq1nVD~EPzY`urEfATz~MmJ{%cAs0tl~f-^!AEr4xa|s}lq% zP@tVSJlt6U5Dze4Ej_=&Y{^0$@BXfFxvtZR8x|6AIbo|gb0TBDZqag2@9qrzh1<0B z8Y+viMX-YbP4%qG?*!-qbgTw?NYB`7^YPrJh$f*$Jt9(YLI-YVq~lhmZLas~Q=Cci?8=9CMa(82B&j5K$qa&WD zY54J5(@OAh|JG$_>%}4gF3XEBA@p-Zk|%K_+HF^Dne%Z!xk0qDL8fye&)Kk35tNp? zcDl%&bF|&oG(*!|k00mwE4+3Z`nurDzT?nq41|o>%yN5qdm#Tk2--ub>!e-XK;`ms1ae2<)CE*?=u%yQsZ@S~7Ek0;Ok@(2f)iDCiqRj+ zBZO(rXX7hm^ExGHWM?L2I=tBGc#K=Df$po0G}~p}+Z^>rCR7jX8;iOSt|c$i2v3MD zj=5_fMcX*}N5Of!Ql9t1%E?D2$UiNSUX3>ZT?dG_>JV0cl?xoZ{;PqT6oywBq&^&f zE|Mved_ENI8T$DYdjZboXQ^uRYXk{xVM1C#k&a~p1Go@?qWKg#;>ZF#vW3irQ`U}2 zX6bkWty5G=?_i8T)KfTlsUP1af+3~(&s{O2{N~;EFWeEBpe7yRu=KfnEw@NYx#DM& zXc88BFPDL8k+Eh$b&qZyz;Ys0enRdRmx@DmE!Cx}Je^M!dn3LYp=L`ShRIW9rQt@b z8+)K-s<-vow&L(ukU}N&ZF6Y~urVgBq zWUPazR|uJ8R&eSecW*qWAj9M5gmgg{1r?Cm0C&o{$ayY^^o1if*J@;c9`|>aE&;}U z?jcX+%qFYXhe_fu)@H(sro5sTn;9G@HB5%uZIc>JGpjpFpT;(9Hzomh_&}bpc&^L| z$9soNQO@sfx-QB(BY=ax?smysTu-m~=SUr=rRGK$7y&BBl}&RKzNk7}u3pSgMv8rE z`hAh^Pd=U9c9-U+SZBFk(#)JfQ$n-)A(36GDO?Gx$&IEN2`KXAjSktv*-G_k$P~b) z=I3`Uww*eWwA7z=1M4xeYhflYT!))+mdZ-&i@Ev(fj&Wb%Kf_sZxt*Ac61Hqex{@> zU1mx?CZ&U|(%<17-Bx5!p(5uvIHN3<%e`YM)+%*Qcy$MV{N%;Kb-7IJn2qe3rT5%D zNSdy?@ES7Cui^G9S9X@WJYg*4i%tu(0Mr&70EPCFP?0O5l8K*3T%O8#%2_6cU4iR_w<$2p?>r|7B$w(e!bAM)-*ZK*dP+Q` zU#)vTMKLwGmfC0@N$;l#zNt}(t>qsw-Nd*4tT@3dDs54uF0v-V{6eQ_Xh>c1Y&vlR zB``bMMMLJL;`hS~;0^qh2Y}54xIq2}XlFo2f6wE;be4^zv>NEmWWL`Xz`^xDJPjzj zxx4KIuQixUu7RB|T%3%yRLp;>oNgD#+8zMivmCSR+{>Rpwry{W-<*v#N=eN%NF^NSZ_h!8Hh7{0&Ba3h8k9iv*izdGS@$#e)4aapWzxa*guvVfRL1eN%Q$3UmW1-6ciZq1;0h9pqV`*v=JO&$4JmH zc$7<1SkMN#=QOM?|MMRJ4_f`UPVE+}0vVyvNrL5)K{{`YfB>VsX diff --git a/figures/ifcindexedpolycurve-fig2.png b/figures/ifcindexedpolycurve-fig2.png index 8ee8b9db4338537812115afa2d4b859af51e5cff..a833115daccb7f6174ec0d2b57cc3ed28057b23b 100644 GIT binary patch literal 8853 zcmbt)cT|&4w{Cz$ih{I=(t8KR(5n#;LRESd=^dm<2O)q+m);@t4$?&sl#aB3)F5D? zgc9i>NI5V5&UepU_pH0tckcazkT;pk?3uminP)$HA|Gogk&@7ofIuKpgtCGb2!!_y zc>k3MA9&^RT|oi=@I17X9)fB{>DPe=uq|924g%H1Uq3U40MEqFl?^>WpgYr7e|WdY zKjT0kR$hbxT*v1rF6X8v_0)%cnnRv3eds*lwJO>w3u>hpXA2EOLH4f*?Ce{U!x!RtB~nxmQ5GwuvkP=TqlJJalh2tnUl^+w^ZDun)3(tLXf*al#HlOD&^s44P3s(jgb(eIt*id<;r{d*kcB6Xei>?}Up{5dSzD?fk`PHs zkPBl~neF1c%TYJ0xD#-#b+4e4(zVWHxzbG~E)^x)ahSyS7)k-{wvIx*%}1o`X zlJ8r5E2e8IR{{^%-vs|>?}F1P^}G!~j=Vj|Op~wlLZWO#6^Eypye@@wd>_i6XgNzL zY+7zj>>EKoEYcs@S#9G@gM^sv&}k3Qj7qewlnxcnap|fPnf05ZHMLpq)sA^u1hns& z3v;_3*+#r>Q-g1dRBjChJYdF$hjxIGN8WHJ({Mt06S&BS*l($u_n(-LdCZo{)Qo?*jY zxNFKJX6sIcxt|+7%x~ZOJ@kaip5JYjRUaML8v^A(&c!C>(_E9W-`BJK7>r`TgYzMm z+3)nos*P|Q=Byz_ODZQ4MQiU+M~28U;~ z9Rm40J`RxqO3dJ#+eDI7%yxgiW&T`&rDPYizo6QmePsS!#OUzzsT%zql34z`lis8Z zt;zBC{6lhi_=jOS;{H6F-4!$Lk}6|aq~-EwLXZ+>}YBd-nJFKjBB0y`gBRao;fwdyGE#faXQlP>XJ@YIUv%HJcZGS@OF zn@=Uy*|g!#%7OYzjK>U@ei6n!LL14eIuy*zuR5lz@bb&gDF%Z-SdPsnRg~_;Drl0L zqDvB3u#*qa8E^KHzt-37U0lc_x{Hg8ArJ`r?Lp=vb34INZ@0h$5)7-jjq#%4PGPX1 zwR4)Grz(SR61^*UAKusablbL~$(BB@x$d3IY zDAyn0IC{emvv(QciR~mUCkXEkRA#dnn;yA4;)^BgFzOQK!sU!kT`^63nXJJ401A+($1 zau2uEVkjD)`AxmIZ-|BptPuTNDa6g&A|n!RJW9mG1q&)!DgXjC%T4Ja!q!QHOL4Shb!J|EiaFhX8Rj##2v_e~z;aNEAE=u=4QS+$&p9pF4ML}n9V$dL5%bpG zH2osOoprq~hUl%St|NBKKuSf88u)(m>WVo0x^Anlt#>dG)!!eZv!?9?n~D7TI}GUx z4mul$cwPKYLs5m}c2AyAK*uLJ8X+Fe(%R#=UNY#F79Y*w~K;C%jICp|HPB>xdo){I4&0d^$TW4$sbx@CcsDtR%OTsGTSYAKq8=3&1R#>lx0e zmS(HLW4m*50wQRosXT3MZQ*dZsVT!!^A#GCd%k^3++KA48Nodd6!Z&MNyk#;zP`IHUQqjoto+;n6!V*6+`o3pS(pX5Vg)<_t}vcn0tL z$NULzh|_{=52}TG6j+l|0DuY@q4*Hqpd05#+IG^+P@QGQs;DC5fcd?fQmmz=s8%B= z<^B0KPe$*vs59K|r2-CCLmPN_TvGd)sV_0gV%m8oNtlPXLn_o-Z|x?PCQmdxO`e8> zV`N|_)L30zJ!fIjgKKK{vFA?4VRg(8q>Le!KzJBWR;9jndY_!~Wb+Qn(UZLL7^H zI!E!Wtk56T7T1&%M8o4V^DToH-iOwz=%UrnpFhJxuT9O&>?Z?!1Wt~q>q)pK!E9H* zzj<_B?Iq?tjVxQ}!ar==>)W9bzDAU~BnN^gPZNU;rX1iMN-fW%abrKRE-t-4(=GV&| zsO_gs$0O%2eb+)YT`zWPX1o|y4fzUkymj^ZI!R}jz$5J@CMMZwX=2{Lz8)QUb+Ent z*AFih!=mgQ0`_J)lL{|Au^y>n30uPrdZ#IaOrsyc z=qSnUp8csBd2V6L+5%aapU=Yn$@I8JL<>#`+U5MN-FZ$Wak_u^0>09~a&G=X^dBEE5U8Yo7BHBlY%{e@QP20s+HZ2Hx+^I zbn-o-gGKvRFoCX&4n>yiokXrJ(QMB#TWg;TW5SH3s6wbb0l)(sVQp<46chwtPe80% znq>|AnDDPv4ahk9n0kNFADdX=Ej6$rdU<7HVj_fqFfn;;G-rNtG8x;(!D0tG(-iDP z4A2YIC>=Mql$zUiMIe7|Z8_Q76GwFaAiX_VQk1mak99@5Z2I{2=eC?&1L3ixLDb(A z@)-OnY!=;*Ff^UZ*a=1X`}y4xG%*02l$Xau5)MqX%zzVKdd#wALglH1do##pa3j~G zE!P$z>7bhV^CDfGd~V1X^gDr`rZLiPE$}+cUKRXv;ulr;Qk_qbhX*X9rK(Eptc)l! zJrRe)8MfL=9D^D5YpbK3XAQJJ;3KaEm6#D3HF~hquNo56!%~VPrycIhL4`+@bD?}@ z4h>_vmqT-A65D&VNtuJaMfP0L(Dm_~U@4J|(c zv^NllIkT;mmC>$TA5&0+hlv5Is;c(4kmqXZa5!EQU3gwY)T6?!{vX-3a9ibH#F-g0 z2V0A)7=0rwf^{G|s-=K|)(}WVVbN<01pdE;WAa>b{Q$VX4Gd-$dMmk*^o1H_$$hYl%P z?Mz}+hKiL3?GU!|Uv>KGCX=kgB)2;sPfBab+0gNwA+ne+TzPVqN2I$*&h!9ct_yWy za1N&%QbPwmPmE!9AqSnNWar)?1d5=n+UjB;R7v2U7E~7Z-J{{ z+%{=R!2G}vfi76YAh@2{rNZmhfB4<3M(rs-@OxWEd-({_;@)J zCFf-CW^H>-Lh^*n7~L1e-0|8VxC&r%Nm{y{mHN>0P= zHMLgkC+m0>1oVmMOVRLT9STng&nH?FF<<}eQd~hz7?M+>)MNoW+o9-Zq0J3FsEr5+ zH)%Kj7) z(9p3Q!8Z>im)(znBb;%^QPcF#IMWvs#95k>>tmg#(53tvM3V0sU4qstw$)t&R!fJb zYtnUOiY@=#>L36uQ7OZz#+8@3N^`|`>1?+us+M_D9-u$1eC4r}m32>V`ZKje%1rn- zMsm*7V$qG1KbS=hN0hCsw2f~ziZ1NAIJWF1aQmAo}egw2JeOa z^ZgnISWUt5#Cnq8yI&J0P2T$q=ZS=jKHvK2T&-}*>_>cYrlzL+JS-P)Act#)e37SU z1z`q}EB@u;xB95?#fukJp|6u<56rG_=WCmpjqQnuh_ozt(TQNWB~!O${gV5v7!>Yr zd32MW^%uf?trQXu)^WJ-zj+-iHOYc;VC6=-_t3}}8;$aGkr$t;bth^rZncc2Kh^Pk zDsG}aK0hCHfYrN|FtE?h16di7oixJ?u|CP$A7koxZq6Zsna{f~^>}h-Ozcnk_aaTz zp_h??2Q=OSa&AA;D{FHfkV>j-J+Q1Nv#^@5U2M-tGr1qt1enpIJjo?@c>o-f0Ocib zWK~8pIscLAYVdJeiTV_(DH4kk?l_(L!j9vOs;J_L6bGR<^+s~foq5Vxy>Namvu{6XX+4>oSz?M*V760w zfQ||V*fp@B<^!zNBa#Em4G&+lBq`mfF?Jc54|_@=3HAJHBFO3BK%%dwk&x(B*KSiU zySiL)SXUGs$(pdXzpt5==#^lnM&rRCa~gL9HXlpk$A{bEgJU1ljzT_kXlO_BW8*3k zS7~M!#l45Vo1jHKS~CXnQ6n=Thqs@ap2HHf;r)H>?sIta0UNE%b~OKK(-U+NvEFC< z*bU+$Lz_~tf|9lh2>mjI56^Zn^ zM=>>IQU1$CkO%_-mJ`rZ;s`RGugf>RFb9w%gBlYYdKOw zWM(gOL(xB0U7rd8^_+-oT%op4t86V87i;1o^3S!RkR$S&@6gQk$GtpxBpUqBnw#F0 zzWi;u6d(ERV?p9zrpS*9BWKrkl<8D(sx_e{tAkX=(3Aq7zU<^wlV~c!>&f!SK_w

+2I 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 IhtH7z0b`GT00000 literal 7694 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 diff --git a/figures/ifcindexedpolygonalface_01.png b/figures/ifcindexedpolygonalface_01.png index 954c298833cbc9c48402d656071d5bf7486b3a32..00bdf84e2c98dd92d16ddfb154b8cf0835cdbcbc 100644 GIT binary patch literal 16190 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 literal 15807 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 tg_ijv67l~}=V$*p& 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 K>J_TC!T$vd3!Ena literal 0 HcmV?d00001 diff --git a/figures/ifcmember-02.png b/figures/ifcmember-02.png new file mode 100644 index 0000000000000000000000000000000000000000..5ac58bc9128a7b72909ade3f3d3e93817c9c692c GIT binary patch literal 28290 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\H+G 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 literal 0 HcmV?d00001 diff --git a/figures/ifcmember_sweptsolid-01.png b/figures/ifcmember_sweptsolid-01.png deleted file mode 100644 index bdc20651b753cdca26878f9b5f473d87390ab7b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4859 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 diff --git a/figures/ifcsurface-math1.png b/figures/ifcsurface-math1.png new file mode 100644 index 0000000000000000000000000000000000000000..9379b6ccb291f908145c7a03d13e49b03948243b GIT binary patch literal 1777 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf28KyQK~z{r<(LUj z)KwhEzY7S6S#l_%1_pwmNk}#xWucR%mZlDq9d>AAO@}kuL1Sg=MCCPw=2a9lD&wfB zk=cZln4z%Xu^bw(3+##u>~bG_vB$5s|Nlc!*mWJ3nP&RTz<=NO|Nig2?|Z-h@4a0K zG4MaagJ1tQ^rK;d&1SP-+z$&%Vr{ekTyUL!GHgL>lNuGO23VPAw`1x+Lv;Xtjw37Q;HQ9XNZT+8zT$)ZNDcPy$OMHy zhL`3=aLonmhMiJ$lvcbvo5tMjYoC}K{v?mApx-MDLN#^9G8#2>CjDs}k}C{-DgC%5k@iWOxX_!HvTVvcnMGQoShln)>Cl!9l#;Cx1%X!jdG$J4pOi&< zuDF78!?N8pJ8FnvZhlfaoj9utM&6T|uR!i-SC?A){lQPNk__bXqgq||(}iHbno z;i;@%IHfg;WwWV`R8`faElQ`Q4@c0dol@}zL$!Ye-8(#va(eq^v!SP2`FToyHI}s( zO`l}f@f#+R9o#_6CcjOkTp_BUHP6hY8SfpV4z9R@L&IfXyh362&>gp#D{SF(SLoB3 z_ftUZD$1$virr57X2J-<#H}Q*M>nNM*V3f$8ML#YYe**A^K2juf9MCY2Zkeb(rq*W z{;xKwT@i*#g?i}GDOP3?1q!cRl>BDbd6D5X8Q;9-t zDGZGzsE{{`qCOMJ+8WGGTnaBy5wX@lnj=L^^lZ$E8ze}U%c)2{WW)ojXE@y+{34_9 zU_>*N*EB+zT3VsW%*W(qV}-JvmdoXkUJXP@YzTa~<_Zq_^@YjXp6;h$TBNrqF{+Es z;Btw5ONc>O@I9hfB?C1N!c#Ffo&Zd0C8U?+c<_lw5NYp)bU1S=55oqBB4NsXVkJlT zjX}@|mWS&Kh3wdT?KCPTFGqJSwxBHk5-Niu5Fc}kwr;|K;eiMn;K{BMc#-|eu&Hq( zbuSbML|j5V#)tEHZDT9$xfn5n1H>{%qdJcgK_3jA@l0Au2&Vak1jxk#{@t^BiN92g#o<@27w zI8P<=%B!F=>X4iIB{uz1hw<@mVD0lyB8b<7!2oMaFoL~%Hl>GJmIsAzC?ZDqp{}wR z`ga}&n4X51Aq9rI^(hov(thHB)TE=5q>Ow4ClkG&Dy=ry?J8;cj8 zdm8pry;HdHJEWE}ckH7gtFz<8jaZC2GMamy*Bqm(FQj7`xm0qciu8SjgSms6bgs4K zwjc2fsxq{OMPYb9d@1bI)j_54L1Z}Fs_qcC{%UD&s6W30y92kp!(IH>%>ux`3R^-V TEHfr^00000NkvXXu0mjf4+=?e literal 0 HcmV?d00001 diff --git a/figures/ifcsurface-math2.png b/figures/ifcsurface-math2.png new file mode 100644 index 0000000000000000000000000000000000000000..9f22db6cefdb1cc20858b8721ca0f4be2fe56255 GIT binary patch literal 5931 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 literal 14324 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 z z-QqWDS(68SSM}~$o~~`9HIBR{A$nKux1*0R^CKLx-u-y9;hk@df33hO&|*T-IW`t= zL{53cJppiPE>gP4@E4wO_7OWH(O?akcVCVY#w^g~8z)O8{k?VL z`d86OWBsRo)j4vY;`+(r`X#-v)P-;Kr96S|TsfYs5`!lgg=C4FdsefDAlZD5YgU6n zp1;h0qQ)k1eS819?|Bm}r&c~4?ExKzbJ_nG0I8GMUF)%ODcb^IYhzQA%jjBx0KE3& z6njm8g-C$sJ|Jv{^-9)9mv%woeMg1QdpDin34;U#TpoY2SNtG(?P^+yEob6g4qhA) zqH-`#{x3}ne@P>PBm5-tsq+*}p-EO=-zBvbhc0OH3jIEx**`*pOGCi|$Vhxh9(Hg? zKZ)Ec|FKdE(k=h<)sc5yy)^Ipb_j3Zf}m<22j@2&;7r_Vsk(wgcj&-B<$0CjCRS=| zKj8l<7)K%Wym*j}@r-1Rm&^ZGV_q~LimvD$4f6&kZR%`wjrLtWp(3@p=C4qUM15P| z28z7cl7{U65VXP*kAPr1Ew|~!RP>qrN1IJH!Da=uciXE*w>{+M%V#64ISeztiWI_I zHt?5uC(XkNXy{ z-+w+Q0mO6Yne54d@O209ZVP}sE-^eW|8i7^HtZge?*J_Hj$vH~Hf)FBW> z#$a5_brEY;mn?GnAUiX12c*C@c-|Fs09nZyPjEiYYs7bsZczeb&EnMCLQC&eU0r#uBnFR`&% zm$1WfaB#r=Nt>va5*+2~;P5OA3n2<5lK{REJgyIjAxY&9fN0|XA#?SAm)=TByF59W zw741s-Q94v-(A0d z?ppWW!(uUKX3jqQ?EUUHp6A(oR#B3{L?=dvKp>d1ZzR&S;;7SUJ ztmJDAkGZ`?cON{n2h^iOPFri9rrAB(*=j|~KhQtWXlh9i1ODxC1)F>FbkK zRMV##!&OwZ5;?Nv&jb*}q1!EV^X}#wo_=tfh%HYtj}U*qW%yA)R#R2e$l$QgMq)m! zhmax=CJw!)Bf$q3PzJJb{dX>b^#4AA1*81C?45-exaR+RLJ9i;g^6$R7Bn<8WM@lg zYBHmrO%R&KQ0tUVZ*5t;j$fA{_jQ>mGpJ;CCeae2aM2pyb|H?Wg+Z_G{lua8&>OTs zSlXthX3bmXEP9Tf9}1(&hiohf10Skdu2#c8&hHymzW>~{@@r@aGf4cc05sK=FKWKt z(bUoLIOFvv>1Z-i43r9RQ3~X}PFZ20PK(z$`Que@bv4(*yHR*E?QFf{+RgdyqFvpe z%iD9Wdn9Zjws)P#%*27iY9k`Id%NXre)}~uhVc9Ix5QhbbFIF&b2ZlGO$UvWlN!vJ zXXG@rv}6J+Bcq0M+_=3WB+T~!O3lJvCes_pUJuEW1I=vLq8`HQh78hGmcZcUM7)2TR|4* zLyTbWFF=%B^)h@A6+C(N(y`?eHVo237`vS~-u5LBRoZxO8MCnuCkm2_K?sq7jsz5O zkYt|b^b;c5rupahbQMbpGVui@@Z|-HzYZ7Xr?P+J^AnzoL+?T=_$ORGUZADu56(W3 z){2Z%;NFSL48C`)^BShtaXw0yapm%izFPi(a}qx$)}JWY&3Q0NPr>+Vc9!(y(~Mxm z{ns?@j=Hj@IDRgJ6j{Goc@l3l|9E!Lf5xGhK`wkvMdZ=>XkYf5Q2p;*MpmW0I^v4t z>q^-LBKBY$%A%}a5gdk-56Reg=uh4o#_=g3Pm!w$b4+Yg3rDrPs9Eun6bfBQOTc$a zwOL{&H?X9Nku=HJ9S`Ax(_x|kxhsUqy$YUivC9XW|wgLt3#{N z?p^mn{;(@;GMw?Lini|%0o;S%cIrOc^%!Nr1Da`MZb2bL@29+`zN=e_US&?}SVNNw z7aXrQDke|m{HuH%6NU8c{tt1IhSs59?Sl6&)ZjPse_IoIou-`Ijt3bA(@3pDsUB&<*(PJTq%3Jc8HL(sWM08uP^9(lx`EX|J2V-2Y1eHH>{Iq4{B}V!Gblxry zh#<^AI$f{adB*lcE5>;3qT_wz=z;d0lE^^W_CW#Bc9*KI+GUwfl!*zPZIwb`mouxCL^--g^PsFp;_sVs}SAS zquD6OfF9O<*LyV-)}$|Rb-ZgU`|TviJ2B*_nWN^YO>W`3=b`PVx-0VuA=tTr6DKLb zn>BZiPZ9W{W==pOH9~YSV+=w{#_%@3zoFRX3U57^eg*NXUSrC%?NBfxiQGvemajLY zp__JEdMI_lACX`zcU-CM@+2!!-UOI39uNx2s|z%NsG}9uH_(xD=1GS@*h`0$_|2bb zK_nx`()Mdbb5ZbWDDBrZ*%98Uz!@s27wyDFe+W~C!TLGLQyhuMYLRH=171~$ZhO&d z_jOq>t+MNjPxm|{e6L=;BKNym*{@rE_#3P2=He1aVC4)KJ&r+rWP?BmA!ZS(bAo7k zZ_sRgdfv&$P%|7}+_n}VWEk{{G-~Hp5W2>=?0?+Xi*Ix6m5QOZ#LYHMd%LdVGN$2)o6>JLA&uGr|GF0m#%C~k7A3DP9#6g{rKgheKoCg2r5h9XnAcO zrOytcc<3*tTc%>3Iv$&|ofq!%jU9!b1mq7z7j!q!RP|PKG&Wn@GS%M&G8`DYhbUj{ zkPvK2ujhL_QO^E#ocm4ikUy*T=GBwWpJ)Ci54A=qPk$@XnzVxq8^73AXk}21)7!Nd z#0%whnQV|a_Zj>>`FCDDf?}d)$96;`kg?fHT)aO*#FAjU9SK>ik_dD7jc-Y(Zs;5( zY7OIxM@6yY4Ac6eVB>dTfe-p0E`+L{?G!a!en~${efaYD-K0-J!I!?vVynb6Bd1|u z|9k+4AB{nKlUSm+R!9|Xk&>I{)$PgT_lL|LRyjEWcNjV>bl2HP?u@Uhbzq{o>ZJW6 zaTLPty#46D>VrW|Yq_8=e|+A0O^jA(o2R6Wq_et?jC17j`3?^hKL>NBQQL+=XL{fM zPiT*^lVlRgO_4rhbKAW!McZMDN5{lyb8{3H@%Na~YTMUR1#>cmuiiQ7?xdGk*;?P1 zhFpF8ej`EJVY(RKne&tBG;5F2tFi_sM%ww}V7;`obVTTMFiR?2LvzZ4i%Gl82ZYzk zs;bW!-@N<~xE2b6D$-&y)8cz-$m`P=eo%|PtZ<%^bKmaFHH&Sr{#F-dLz-h%-RwS} ztS3|$^jPAIc(5xJO!`-}~|FBt#IV-ImM(L!+#WvmT^4WCljjfrUo^zK-ooiOX zi!W)!LpbcCwK>C0xvi$UHVQt!yfeCR&B95^v*R`0r!*#+qu-F?+q`wq2vv5A;2p1( z)}H-(5}EkfHvmn4!dtLO+gg(I*DG`v+B~BdnJ5B9Mj~02TR)l9r5duEE=E_%QO`(8 zPe^TcqnzLNOX&ygF~;{vI)2aEezEPPu~l8eWnqe?!Pjhb9r3o~(yudyH(9MO zXk4~L_{Evgj-R0D&W;)w>K^N8b$7muGOi-> z1@8$&B>k{tzMDpNuF-WjKizLmuVZw4ywY~QHYX=1G!#B>_xiXg+V=ja%6GB5_`G%+ z(^_G3J&kvF+$ChQH6&dZjWUMEQkQwNNbu}VxM}sASmI&<_2w44RIkoWA~&h!v!L$b zi46H`z3W2{L_64Sh0oqW+JAkt!V~9Gnj8bln?z)%a7`By`W_W~cOX<{nd4 zQ|t(sW|yR*G-q>i2dsfJ$44it#=JzR!IXhvJ6Mk7;HDMgcRN1n@zi14U;?v0H?dMSlM2OW&VQiYd56^jtpMeTg4Y1Td-#IN-&|m&qzr94`#T-@; zt}|WNCHgrn{K&lD$b~GB%^y?smf17-R}N)YmLyr{qN9i5S+$0?tZNZ-qD{8{?5Hbf}%OXt(yriheh$>^An43#1_M)i#Z zP3+u^DMJ3d{*-Q$ZEF=D$#)P+<$0F!RtoM5IaA}2v251;68=%LuJ-phiE`MR{#Cct6BKbB7XNXmAL?9O{r}2SBv|4_aq1%@mmh)jHr+dMh!IjpTCY# zkQ|E{A*O=`n`oI%?r$(ZBC7p)YwC;%6X_%|k7oK|g?m0!KE-3Z8n;txXEGW_+lj^z z+S=usNfiNgvo4C-wWAV4ZpocwCA(pH0E&@@VK^<+^joY@QXyLb%0mtqId(;F+ zks2gO?Hl3~2t`~4BsXIPS=uZyG$vy#KwA~TKVbN0F=ZO8QwH&#XlRQMYkXoN1cPYx z@^+-rKp#&^{EfM}xsJ|kol%IhKq^WXwiktpl-72gubq_d`?;-#i8Vjom-3Ys62y8% zT?ztLg1--061z|5R?9^!N($wNw=Qps;meEoLd`3-Z8PzLo)HXGcwhP17{sJvh4~S% ziV+gkG;>Kd%bCiV7VGIwTluN@i5pBTska>@NH)>jY;JsNM$A=Hs8IKrSadII=WR>) zwWdTYT+o#ZcOFahuypi3_dDMxxlD^wc0E2N7cP}x#qLqG|yb&^Gnm& zMMCC{9H~!2s;6La`dlH_pwgW|Q7z{i=Bys#-1)^-H9}J{e|8i}wCgDDeRxgN2$E+M zns~1fHkVDzI*bYuK~*X!((jWpIC#@8dCW&AE6idOpd zIqE0Hud1f8dqW3B-M9Umdkmg=-=VP|Dknr1^VS$vJjXhVN0p$K<$JZH+kbN}4n7Sv zI-&`XiJ57bDVQnHS(ywu=6$)YZT^m&275_}tb|n58~6BDXpR4}cQ>rb=RqZqy=Tt> zI_>Rbi{I}*Lmjx2zPMbWV-|-1R>IRTs+aFHuxh*{>_|(?XInD3k7EY^F6;SNM@_fs zz8c7w@E>2tbm?#8L-1EkTU(3xs!FEaFc3@8fW>>OXAtbD^h%Q`DD9hi&txolbtnQ1 zMV(eTO~iFar!iq9iF@EZ$1DAMHW<{RX71z1kB)0SM3Fs*hdBb)`Z=#z&$-0eew)x4 zJoD|^(-UYuf2};X7gC-q==iqpo|Al$32l;~`FQ0Pd#1$8c5ptVCdor$vNW9}d;n%& zlHz{P`S{i|S^5Xy2Y#nm0zZh>6PHEcQuYbBj$`ajewQVX_2~1u- z53j#!CBUV94C+>Bg}a@vV+)_=_xhLy>!1H^MC18w7R_yWj_6N24zsMYI{q&@1O_`u zya}Kpfgp6^bmAH}Q%mLFagR95A0Mz@7G*?|B~4%Apq4XECXF5*)Mm}dUk(aFDWn9} zI3J#^KYUq(!i)o9QLsD$?uH9$3C-)Z-2t*XNdd$To7B-QR74Vg&T;QQ+pnB7>Aft{ zCz;kT#o5klgZEkO1?I{SEwVy#@nn1eBuQ!Wpvhhsr!0$chZDD+;VWRSKu2dm|GiR=3Nc+`lJ zlX7FjqUI%V8~3hcN=TKdjn=a0@61g0J8lFBbcL_;Dt*dVJbt~(oi%}aJI(tbk;AM% zPceCQb#++u(Wm7B6%(D`|Dzs0K8cY;$5X0<0=wq5EA!N*4)4oL!;87)DEQy+C({Y) zO9Fm5n+51W5PTiFO95EB-nbhNc& zhkubj5Jmd+mx$v_#YkLa!_}Ozd(IGcm}d|o0a3zzSY#1~zr(W;>*xIt4aN;~Or0-% zcqn3_?Z+s?t?wBppv}^>vx)pfMD1vj#=auoWBLi%qK+_-qY}ha5yglU<;hNNA7Zp< z5J%+EpD6KK{V90Or~;u#`E~k|>Z7o4AJ^#Tl!78Z#-85XCC(wD)hB4b{QV^G&-Ojt z({NwXQ$fNQd%NEoeSgmt42o$gs><%`na>fMp08998MmtAwRpLs1P>`r6NfpM8OlTH|oArb}MV=5Q4P_lz)X;>`( zduhodhw})Ha245jbOwYwweSPphVoOP zk<;JbVU&TxccYLJcYTTesARE^?CZUDm7LPw4p|RKpTw|FJ7*4lzgx5>f@Dg@F&|%U zNQjb-Fj@KgUM|Otkz*;g|30RY=jhSsnI!jh7mo|AZ$cgWO&=+(g}6MV+~GIMvtOSX z(E1d8CmQdG`lBsF#nOoLf)Js?^-}(!B}rE2arf_7`Z)L_cN>!c!1cB;urS*sS>6TW zVyL#shxlhP?!o!a@iKK!BQ#zXbGh^kTDUgShp8DE8EI(XJ%9cjirm=P_zV|UCX!f6 z>0Tu^POWZ!ac(XtEzR%lbNfQA9VPj?vPQGoECHL^?pGQ z0+3u578bwV(mLSn6`-@NzTP%AHeOzhT`MY@HHC!?jEr(I)afIem$wEi+9oDh(%EPz zpE6bGVNm+8XV0H&8W|lr@Kx)+f*>OXY;1gxvvhLe=yi-6pPtsz)HF3QK@1S9ugjr; zY86kd9ozi=@$T{A{&aIh8!xx2O1*qWUC#Yrp}~H+_4;&kW@e_Yt}aBzZSUYfNkQQ+ z-|*ojXHT=CJsTlcq5^F!8t=>hu<|xoq%^0+XvS=nIUNm+nVA_F2~91no}L~u5g(7u z;ne$^^D5m^O-)VknSp^pR|qyayNRT)udl4Ethzcb9` z@r2+Hz9cj=J*4ZU7+nx7t7s>RR1lv<|LSTjy6y4dHll)3A{ey&>g^8-Iy&?7ohkU^ z?Q)&nVx#BjMuYR_!}SQ9g^9`9%1XD!YU*II$ukXpI>ei=oZf0Nmh}l0n@rHn=5%8S zKimx5njC(2JeDo941c^=p~u6;Jssp6ArbMp+RjfO9v%iSj)1q0iHTup+{${_75oG- zU}tB?aw6}^r;eHWk8<@1Vo1J3t zDH<9YK(#3CUIUOj3FYkRy9h^;O$R>or%$6v_*Y#7K>t_3Zs5Lcpb#3rvkKrT({@Gyut0%6Zyya?9=4&g^0!o5>w06RVb0k6l= zpLx3`MOYxV$Q1=1dUtOxus8$PDb1=6LvqT>bb)|bc@2}3lLKZ$Eep677M9^{m%QBE zMTag-^?W5odHJWvh>nhq(ZUzM?=P1h``Fg1 z2s?R^N=Wiwzf-XSVW~=BxetACe*gaOcXre1a-%jdtE$=3++18XbJd?WJ)0H}jy-tn z7Tz!b9>~(tvZkiS*47p*jpO5E@OmJDHNkAwhDSz5W@d5{kAOg3uBxg^CYr1TtkUuE z@%VWBs@aljHxaw+v4V;1PJn83caM#Yfj0DNZGdwiA|fJ--fRy*3c(_cG4mY!&JI@M zK>RDcst<~Gc6L@)R$$^NU@$3FJgKVLh<`)wH#XW1;S-lk!=1t{Euf&|Eq*D$d4d2z zg0+cueWMQp<|mNKvT&LCIpLxFzNbo|5KfA>h3TF{Wo`^h&i#wY*QV1JpAsjmVmsw`bd?Y=rc=LL&tD z_`#bAVUdxkfU*k3p<-lWYB972{WUQ$sh16;fZ~UDTh(0b&Kz!yWdo-I3^pt*Y-gt2 z2z)_9Lqk&X=ik0q$EufsqpW%p?FE7q+ODqN@7I4S34yGS5UGbvAjLH^lZg;LP`o8s z2^RR@febN@u;fZgNl7_^W0DHEY>j3@9QJ;*Ck$|Z82rA{6%z8u#KTitC)@$<3g%$( zmZh(+FTu#q^RR33zk}Q-rn$NKXnxkF_Jv(N0_5iM5PpYybGAKk>#n9Y4yM7ITp)FL zsm+$>g`HL)>_$pLB4=!C;*AlP>#s9W?9XD*Utx3G=Q?Ksum2z%<(<_CVAQ@5gJxE-a4976eN`!<@Bd8l^T}%qTieBl5qJ~{ zANA}uo)k{;i{Z+J_TPL>!c0uNs88Xm`endU6k-1;(rJk<(5WhCCqh#?r^Wm+tLV76 zy``$n&Zn#-+*WZ*#u-In>wa!4d}VctS-opIO>VZpNbBnmO_@bS$>-4lu^Jo<*Yk8x z;~v4m!9g5(fq@d+M;-PO|7NzO7y5D0P8)B1htaLEjGds)ST zPp7CTc)qK+C@gcuhE7%uc=rzF=AVWYD^t-#-Eo+Ket9M`W z%m)$1sLc;J8?Y2v5}t-*{qqSc?_J0&=bQGPI9)ai&pZs>oX||12I~mu>D_CXMuf3j zqmBCWQlKt~NJH&MC1etm%|BOcJxP1Au((LdqBBW26DXu_s#y;P=+%# z9tBV$&bQ68?M5|;oy3XGX}&e`9iAw!wh~u4KeyZ5vKIBUTGB9;m*-Wga}^j$7j1Lj zlFlA`tD-WxuwcVQylCfcXlN)d{!y#g_u+a|U0vPC?|S|I_7cR7^}m1rT>WFJGgtny zM>#ZxTD0&}_Dt%wZZB>Uh+1$aRcmG&X(1HsY^8G=|0tbOUrMs?pN!?T$ z6|UOq?tJpp*?Cjs`dSEu#BEtn5e1VN@4$0@ak0f}s_1gb`|#oRuuiuW&`d%j=I`Gt zr0}u7e2EB2QOcjS+2CWj10MGu<*kGnp~_GAj5-Y^@>s|8gF=!pmo(k_drOa_qF{?y zB|02YSkvqGMGAm19(K(UugQyQGyO63N1(Pg;#?64tN4Xd^wLTiwQT?3VDs6y{OQRF zloD7Um2?Cfab&Lya*E-ze}wqmUb|Q!F$O}#_aVLI2VDo+-|ATlX%J;Dv^*$c`(H7Y z_~%kz*S~}mLgd(f5h5|7n(1iKK!USX(-~X@7X1;BP%sE#eijvPnem_EKLsA-CM9pc zr7x!@?=pO&gkSy7pRrH`q%$?+<<3X%i}N*`(QGxNbLFsIE0Y)AgRxMO&0ZvZc zKN_dsou6?B7>o$r9&CnGj_h}#y&ZChv5c$$O9y0c&rweS+3w;t$@TqK7xl6Q0rIDa zl_!`$vF&IszwPPswK76f$QO*^*Y^kzlYh?E|Mkw*_0!%FqfosAbC56B*L!q_JqOW& z^TQxeQFKeAfSDe?8a;A;SKRy9^G}}fcz+4PDx}?cMEG)Cp4GsqkLLFrgfegxt#jvo zIV>qDX{uN|1Q!WXP;@hAT}~?ELnw~|K29VgCd^(I&JaCWe!SWIThuNc8*`O&?tvh(A)98wxug zL`*I@!lB#0)hElQB+b@!y^Y8OjxJ8gZDyScIKB5mD{y7%L{4`$h)&5x=s1@`C+zOc zL7E1RURDNr`q0mxJ7Qjgv7(*kauBLMG;lT^88$_D<=^CciMqS=b2k}T}V?bxe&mn9tr6WtIIb z7OA)2R`(LdnsMl)RZRNpz?bHCvu)pcz44hYjgZ%lBpyv1n#sw_1*Z)*95`L%aTARn#u+!ASMeltr{V;u0%L;W`{1{0&Wn$#Jk zsJtvGKU}p=g^}`w>s?;|46&W^9(ZT5q1?u1az~ZGP9_N<89CZCiBOfRAOR6Mm6RJ( z1A#?=<+RgUcLRes@!LfCpV-xloY{nP{sRU%3K)72J;c9Flf`Q#=w*Weg6Cm!@ifbA z5wU--?PXOhZ|}B?K=G6u6e}(WJj-C2rEx?;wQeew|J&6Q`?j;ZUwGwpui}KAoDPhs zuuI%WdneIwS3&TC_-Cx`A)!F>*Zr%^XtoE7a3IvSIj=j_mz5JP98E2PAE&KqK!xVj zVu;tBJ}2k@BpkHw5`q#?zWC_6Z^&cUP9sbE13MKyGDO7%Cvg%Sot#uce||gN$QhC=okR_R z$i@H+Tzz5!UK#cocH}WXFV|#(lDGXs1E_COgGbv5zfWY{r^jj83r%{-#%voYYd)TA zUKT&|dc?YEv<{2ck~A>Icjc>8SKd}L>WVibXZCV8GH|YAT|3(HXNT)%HC!$BMlYTW z>oeAAkQ8EBtg3T3lSsRtPy1><_*1eAa&~8GCNar}?FuFR9;CcC;W`NZ^er-S{-Va2 zd*}K;;m`Sv)I1kGLYwQE^9a0VZ=y{}{?`6RjzdBtogbTQwrR6$#qtA=w*eyL7wN+Z zO*HR9y@#Tsr>o)`)8?RNn}R55k+C>D_BPl)G$Ba9Dn^yVkrPa{0jR@2m08Q1g;dTz1%c z3P@IKh@-^nr>GDhn5bfCg=Io1B$*YzZO3r5yvt}f;KRRNO=Hw0dtKp=c|BW#jTgr{ zePb7$qRjiuA|BMUCE=Bq;q3Fcx5gu&dJ@ks&O=D;#Iy_zB~tM?8k!>YR5$e(TiY30 zCb>yUe}LnVu<2>I7>Ge2Q3*{KQ(nA26|Ww1mF*OmuQ&YFsxn0^M}x4J&fuHUA#Z)0 z=5bG(2%qq--|g4@4nq7d&>B%HYP`QV{E(auKg+u$q@ipP5rD6DQ*l>!9G+OC4iC@W z9Z&Gy8;K?J*N^0=s>m`Xu#}CHKFwQjJNPwrp*6DO{&3@0Qg(Pqmcq{D-G{2Yv@k9` zfkM4uDuoB!)8QYTm6_N_KIg{)c)EEkp1XW@Z%Tru$HUbF&l?io*R|}a`6pF6WN%zw&<>BOXUZ{7h z=l^FQB}Q35+sB26?kSXZVb5G(@+Qe<3S4D0pLIqsDrMhnpLq z11#+9?7Y0ZB&4I3uc7S!;Y{IR-bVWbYU=2cl9T`CZXm}l1GVN|?{KPM#ppjJ9tNgp zH6TH{!wD`$7Mk1-f$XuVsi|V&e}A?-0WhTTai_Z&0D~nA1g-mdy*vDDw11e`^`HXH zRNu;(=StDw>=_&!EGa1gS?eWB9{`6G6n;91M%LOao?M%!i(W1`=etZ~8xfA2MpSHU z*)Z?Vx<-o_?Ex;S^|GY0L@&4>3`uSkfW zKMykV=-JuYI=c3;o+)v6^%l<@E%bPbq7W~kEOZ>$wbG6#I*%hxEz9{hENEhC`do_t z`R&tOW)YEW>^yeTxLbchr(j4G%2owzX+asR&MY?TgBw7@d#W3bBPJS+E z%CGkorNj9JkGIYcnKx{B`i(c)05~+YxSAq?UHCZvwkR;mH>M?yTGN|Lq9Mg#AbdtZ z5Q5ZomnR|7_q8kX{1vaETif!X@K@4UDt*2WYI4U~HKcFt^YkCS(AB*TqlI!J!D=(#4L zLxhCb(f)Y%iYsPAtnc7_`L3#^1rz(W?R>QTG=+aWCMNFSyrBYlWX?JQ_lAhGr%|62 z<fyY8i1<8@3{XngGcJ)S3bXn9{g~bNl9%DPO=z9eFdw}ruJ4Gb%{HFoKpQMVH^y-gtXOx{gM*J zxJI7SOL`H_!x;F)Vq&R9k?Uy9enLfcUU#0>)Pyhl5=DH$?y}Z)p2y}l(4?pt8a~XL zr*m_q=pT~FZC9A~0zm5*pOXnM$^Ly6{ z%gP?^PDi}WIgf7dTh@|PV^hZzueRedMO1%s`2o9bLz5 zx%YV$gJs0cu=P`IoaQtaDmVM*LZDMs(Yt;)nf^k_LpAkoLf(qvuT`1Vv3o;{*lTp# z<+nIgzeoChxDMPBym~pZDAj^elb1IoQSB&eS*SIx<(JXFW^g+@_WBwrm`?h%vZ>+D z*p=XWD$>nX%VM)3rtFOvQ+PP<>IL6^Ex_x%&UZRHI{{D*U|P}Jy{g2-M68hPii)w# zQ%4el7cT&I0;*Lu!pYrpo@4-X0!Yi44GPgMt!-&(`41h%5f2Lwe}ykEAtAv=h$qDk zgZ}*a6Zunz3cZG*VXO5_*%2WUkdUt(BO@YI%_=~*_x2QIWeW=me$3iPXXD893B?96 z<Kw9=3Yyq0gc%EBm>3Z5ucz4e`y1fWX}RJU}MAF0k|iG7(abiA6oOjir}{tc@Nz(K9#Zu+H!uCLUbA`v zpf*yja}>j)lE>RDMb@?pom^Vm3sSg&6DM<{^&Zv0ty#qPcy_x$vW!-{ z`;WULa7RImCg=0j3K?x8H9dI~)LLd<;iGor1&aK|uT(O4Qi;OeJdmHgy{vD4KpO-Ar{Sqm;z! z{`KouwCIBefSbC4F_{<`5(V84IzFK$CnW)dAM$6xdE|+Iu6zQSuvc|sqZdH=i6cJ@ zC2?a59ku&jF1ioAs*51uKQXc{8cSSDwr}kl`FEiDhlYltlKZeVJAj4(vS`c(aL5Rt z1DYz*1TKSyh6X^R020t|_Hgv5%mMuk?{+%d8jFa)5Qp|Uexv}@L1uO~6(uFuu;6=p zp_nG*dAQU9fVOYnzGX{CnnaWuws@`ge*?C9etr&MZ=n%wEv>LDKCiQ_szx?;t_)6t z+uCx|*z$HnvB%*cJae`f{TFerIVq1|zzZAp>-)hi&w z1dhWCP(Y^9!dgZ~@MYi2=lJ;lhzkJ!!_UTK7VR$00g(cT0KU{=dDa$}z8D(da96@i z#NW8P*LAIUT&;v)lkoj8=?>$zo))_JZK{-i3TT%vW;&{I$|Bc)0TGhMWjPLc_ zY8VqhiXD4N-7(072ywd-+qwdaqoRzi`smUD@Z$*R6)7pHVy)7m@^bh=!zKwh~=jv`mmd2M(%Nm}axGQE&9LD!WXS zGj{5V-!m$Hu9N9LR}6LgPI{0R_V1GOo>t!!l-N|n{B0ZN+uq3Q3de@ihl=tnZpR-j zBS!(27b|1++`~|T)F}3i({l`;2IG#8AYfd%#f$*U1r%laNIn3gpMqt;7Zn~FI=bzW zMZa_I72Ef|Za!KRVe8zhc>qWy}I2S}c2Jci+t$!24GhZqCk}l#=B$mxs%60Mmoa z6A#_h-F>YD-Mke5_2fbxN5EAwqWwiCM$%|Kg0x#p^C&0!^!21Q@}SKknszTdM1g2;wc$T{slf^t>uvKev+X z68(GTiO#|qkr3NG5Wmto=Z0@n+fxua)xGJJdY|{)lLFB+WsHLGWhwU}hkt&PUd0v~ zyf~GFJxAQO}PEx$+Uw ziI>P!sqg-jMeo-pDk9~I5`dF$Pvl2SXA=o|H~{$>*d@e_A5I@OG&IE8eAIb+ z2&(*}m5(10Q}k98wBEk;_|qPsEPC$((E7kHSN|P}oaTV)vjs#Cgbe^mK(HhgjxQUN zGiCvL4FdhhCa%;mK;QnkIbPejY7pX&a(q`%Vn9DgIDACXsbvAd=e1LqpQ5z6)Zz^? z>s=QCK&;*!G#w@>30o}QkiWg&eS zU{$n=pI<`rC-_0`mpx{|MGS~OPEJl>@gTn&IR!Z&ppgIm`U?02;GsYb1~6<^X6C=1 z4^e^#p%D=&T$XAI3K3w9Oyn!u*f3MRzu22)U|;}oeBnlzmi7anp(>f{YHIo_Q$S;1 zzEFg%PH7u0{{HUImGBSp3UWbLDSIwrx#^MqY^$`N% z732syIy#li>D~topv(gfEtXmq7I<~#kv!Dn2+GDaA+qQ!dZm0^2=IFcEtgBjYrW1S z`7^urE$7pq;(HD2iF`pP`^=P?mNu`Z2BaqpoSan^6~})%KDGJm<5A{-*AvR3!ai3& zD4>9P7uig4_FL*e29sYwy6*C@w?;S2VsWg|Qd2p&{)SVrVZAZ)gMUL}6aK;63a8}d z?R`Y6Y?=J6@5utO_T06^ZS)%iXt(Z!%wVOA;M1~Sy7vpJ@p0qk?UP(+fzU|jzkE^h zlbB;Y^Lt+-__mO3ebjDfX30gHmcDQbG1ai4w8zZB7pQv)%J+**7k<>z8yp-_PQS*_ zbh4#+9Kc!;gYtth?Injdn+?PtJsJI`ZJ3yn;zL|+?J97e_(K9P*We&+qXx7p%Ry6E z1`vLeH~)>1XF>1>EDt!=5~5%5vXDr2(g}ojbNF02Kp@=E=HK4fyrSS>MWug|hANfm z6bf^iHB0cEOOBi~@^WVD5qZ2j1!2z(>`sKRffc7`-{Lw~ZD~HO`pLgYEn#4BZkqA) z_;#vW`-dvUL=GAu^#tYtU^67WfHC>IzOE_i z!5+1yA=e}zI39!R(Fyfu9w?g*rvJocdg9Tx%)7h55TRxW6Yt0u%{y} zo_mKI&I+13qw@=sk{w)o7i|$u$v=$SXBH-ZnvHmGX20O)-a3AgL`?koXKz&ECX~yS zdf4N@zA8X<_VBA-bj?&5J9D!r1*_KfCAeLy@-v+E1jgZY0tw@uQ;C z9EZjec_9T4Uoa?`s^tT=WG~|Jl@EnwF`vpY|5P#y17Qntgxsfi7_rgf&UGHr`? zA4xs}M6OM*=j#%qSpckb2SMDQioN;;;S&lm2%m9Iv7u`Xo2G~qntJw_hPJlo*{H-y zJP8EkC+Mk4?$SXhi0wE)GwgOSCkw?vUa7`ba`3VBIrMXSNpQa`Oyqz3(If&b3@7fq z4Ba1Wlx3qp_B+$#kXEEs_wi|-vU-O>cx%@whUJg#Hh?Lkw0It>RlEpPF7x(ni{6m( z^76-<-EzP!0j>|gL4Zd{N4y2{k>cVa_~_l$St_&N%@wW)7Ku9}0t)0jYwZh5GSba` zIyV~mF43o@?B2^6r6|3nQ<9$Va)Fb^QeH>D8A!z{o0@Km%UjXuf{$c$nmvx2Jx`V7 zEhxmOWgGWS29OQ;_PyILd5^HkAB-QbUVHI9TuXkF(0&yVz)4*iJZ3+Fuwr{}8+g?* z>~{AsTIKC~i!3dM*8gMA_1*4nN?oL5eo+RYX;>CXTMmd0m6a#vDM(7|TC2^5hahWX zWMbrx5{%3YP$R~QYsr;iSoeI8!KPUWT1jvqAxKMNUw9Xi9j0v0dH~NBZ1_U(=BmDf zP^I4^4TczpDAOt$?r_L5iBf_{Z`NXs1nGSJ=7WPn$XP!gZAzyW){4E$T}*s@d{h(` zV5KMZIaK7JE1nN$5yo9;LIq&kC&b^Onf|EgWpVZ9l`>yc;Z9wfYUim?uX7-~^m84v zK-?#ou`fQCN~Y_TJLaJb@MkdY^J~C59h=*oHB>3??hA?v`W;1CJD(zsIE!g&=C-2= z$viKj*GvlhV!`o6MeTFD$0zHh}Pn=kNX*@P8uFkt!IDf=xz3wscUP8qRlc z^~v~ZDY2+%Mc{qZT9jyJa5_0l&yjp5tG4Dhh=oV!t%{EiJ>1m@S|A4LbobME&R0f9 zu7c7ch)mh;C`_rED+WD6)NSvl3Fo`KP$7f5Ol{#E1sVtW{nRMJ6x_0 zsqu5d6a$01bG`ue7xUWrw^Ae#&ehq8~#>Ax(|`W#pIOEHr3tjvgW=x>{kbgEOhCW zve40_(PM2My8!p&G~A|v#(j4g_5NW!u)&izg*Q98sq1k0!%(ppBO?8t| z=VWBlzU?qw+xG~E7yh7!X;xcN_ptpC0_S}zfrg1fZ_nUuI!$i)w&l6g2P4llMcHMA z#K#B4$KOu9N0Fp?VJz!DGIJJ9Bm!or60czZ!~tGv!n=VDWO^WtnyBa9I&VCBx8>sd z5!AQgQ4g8H{jA|R~#U3gvz;irmqd8 zNeN!TL`J8ynytN^)t&vc(l;MY_#hf_+6qZRmKP~$uirHv9LSKvUlO8&6zcu?z)tMg z=C>!xk1N>j800(=o7|9$m4G#VSWS}pY^n*!mg^RrcAU##}Px8 zJ&Y0sxz_rx;Y6JGNmNS*VcmMxS<+Z7JAK6$cJgCtwt;BOrCeX_r*<*=wE7qkAm6!y zBP=!*pRx=%PPd)!5ZZ2^WRD3bE1Kdxp3g5FZkkDq@*D-o7+u3J$^=EqR&~=8^)8n7 zrF73f^u++|Z9Q0!hNoTy@%LGLpcn;hpiHMcLM#l5FdmDFCQA`C8ji_>lDuKa9^bTJ zCabmlt#+B`^nuW`B|bTVhWFrdU__^Eqc*X@xz%|i4%NMU8?Uscv!49nVrQu7`dLCV z$S#Vu&cm>jms=mYutkNy>^^7G3eDmJl2bjqhVHfFl#Yfk3rzg#q0-qPFJ>01l>ag_ z9YxIDzwQJ!NgSm=-kIClmKGINGPCMbQd3b$z>ot+U1tnH5yxx4)Ev&zNG~khQd`TT z$v}&$+5A>~(Fp#h=Y_qEl(pR^f2itl50>+O_5sw4X4=# z_y-ChktCYBx&mN1YFf`IHebbX!9Q@NsbId8NFaTx6u#{MD!8`$ef!0DzsE0Z>{4 z-G4w%bF&-JjE=N-lSu;|0)T*+j>K&M5>{aDSXfYi?ABVU>+0&t%cW35ff5KbmMGs? z$ar~qNlEwaMtDd$fhyib32nopYbmYz|QPgU`Qu%#bH41G>kLY0_tu%J2^!~51t&llJw2CzI`r++zH zxOLyBXq`Zi;`0>s6tRTff0S9r*3-w4j5P6%`}nvYX#bzA#5t zthTFWwT?Q_=4xxhfkG2lk9IvI9xJEF$)q80y$6_F^?}Ha^+wBSfV0am+%J|+w&TE+ zh3^J%qW|!=t6qqWYTJp|FQyWt>C0rc+qciy-^{y{Cro?o|HlFVs=Xb@K@;YsC$`Jw zyWR5%wmFKaD3n~w+#x;*>24GdDAAFs6z_w7aLqLLtm$}*z?)7Y=2>**FBOy!EG*=y z2TWtl$56DUTt#H}<8<}t@a(YP`4YmV=UYpjUvj{GJT9|?1(HCAnGk24o$MLs_zeOG zXu$ztZqL6|T|n#w84*m6A|13p^w(UQ`iB%5i`&TpApSH4K+|ha-`&9||DGP8S;a#( z1Yo_bw*yW9Z`2-Ons`aI6il+tb<@AZ0#B79OS7h{u%q`cBp8xK3LR) zNPD}tQ$Jk>AB#Dv6$YQNbL?Iz?Cin5xPT8c`A^*lIh@|xZW&I2`GNzAcGnJ1K6`BF zU%ngii84A#U&Q;c5rVfJxoSFZ#sHFojFRgu7&V?c-x@kqn}smO2|&Vu#!X%QCz-T= zkKufiCm$d`2kIN~_zjRjla-pPp`_&4e`Sba2?501w0zf1!f?$36myME00ae~3r@gl zYxMz;Ysvcuaagb!{SNnP#BT;2P)?mhu$7en!nY0R>;iz@8o;BFOOO5eV`Xo@#8wSp z=>Xmiz@cq`;Jo#ful&1(vl)gZuh`1RsA}s5lh!_MY25P~@;I?A#5@=kF|1I;PeGpp z0GvR}$Nl{1>+yeCcqx+ih|}CF=$V?J9(Vp*UAS4+ObzUT>bZZu-p{z1|7> zreZs1%zTU{3+jT=1XcPtz`mXLQRh~!5mpnt;pt%uC9CloeTi;?FX5* zSae#b(L+gM!b!z9H_j5sxn2hunudN~KmgOb-sZBlx*A8beeUjgqp4`X;ly@ zy6*h|AiM!r0A-%9^K79wu)hWv2Vfa(0?iY!h%m*yjtV0F1H@hdkZhuqkZD#F(7ChY z#4_kKSpmfm7!PdI)MB95l$8Z&8`^Oe;{WE?gdqz~EFj=+ZE7k;4GZz+80p~81+=#6 zzcd+jyWapzHO3tP0Qi9&@qY-Tq~r*ovqnHbI6XN5_{)U~RRD$jxXt^#;`6jmGVoT>*GwwL5514rNmlPYCVk1Sjc|~F5B`=7+I6%hPXQbH$abZ97ZVVpQfzxC$ z6C2`YsG;L&MCY5p4}#35F9O!a7nA!l?Xlw~I(;ili-MRLJ3uQnes}K(7qLdV8txXE ze|#?dK_P))ddU|rYd)GVYMWWA+vLF(Unbt8SbsD%H39JLW2&w_7%0XG5E)+rE)Ia| zk0;fe&!SH8*z)6Civ+mD{}jCA|N5~3EyD8BQYphqJ(ce#fB^sLQU40? z`oQM>dJw2s07U2TdnX(qD49jWh+qL3dh4Aq3mzS3XC1eas zVvDKl3MzPFvDANn#1YUu06=9U3jbZg)+Hg6k&v}DH7iIDkRVR917!}-hxXnI#g@pX zs?{2%MQ;3IAiv@oxa{#h`?)vA-a5hA+BBIZ=rBJlzc&&?z;5!lx8VbCWDVcFcYUVs z3*cS2UKpoP#O55fXmrB+PbB$}fmS=#&R%|mP1*A6pOGU+205*^k#Fc6iLK?Ec+kOrpIc(fE@7%k7(@!gdgI_R*T zwuf%WO%5${t+nUj*D=OxfU~5!^mD-)82?(#bd7<@A0_0QE-P_cWS6Y({ax@+J0qe}ZICGi z^Vx63AM{7c!}oA01KT)DNXV6mkpmh_6bv-syFo6paMjgnDCq6@$v_(k%RwMFKCl8E zF_2hAMKONE+4DRpMzZ6|14hJtL%u@sEw`~Kq%fudCeMG9(`e=c+X&o8)QE_|!b!YJ z2ukX=UCAD!VlDQvR8B!?STcQzh%F`+RH!+K2yUAT*Rpj8L_*ANGXBl&nO^Uqw@W!l zv#(E7A2PnH*$}#;2Ziq{ThiKv&t9S&-`wa@5cmg2_DkV||Dw+r$Pa)U1ocW*H z_YF*^1}a!^Xc;8^SlW?vKdl6&*~o%q7rnV}OLt(b{?1vozyJ1)QjZkzh^bjg3n>ZX z9LwxSfQ&cWS#C4W?vy*%-o02MG3tuZl8VB;q!NT-pc{R-aAw1~77nz(;0EzSVOjJA3^U$RxZ>LyoyoBh*%8=3Cf{i8v#RY zYAMASIE4RQyx4m?!?>!~W_mcTcWepeuMcA)rF=1G#PoCnFO9k5nMVmOV?~r+Q=;Ev z7B6W7DMnl>Di5>23YHafQ}xq}PY~GOFOcHHH&NtsfWs7`s^t?yD_7e>GK=u#(WhBl zA_l!c{bPowQo;>y^D&lZb%aGl7po7w?HlV7Qf$IQ?WdKA(lNMF_%rNq2omb8>w*~D zps?l|mK;tl)i-3TaMqDfPG#>7xU8IXYp3`ZM>8pRtCQeF<>p&x{<_OwJxdkIR~lZa zqVR{IqxjEI^m^a^b^f=+Rrc{reF$iCZ#$Md`*4+s`Q9M>*uLLGh8nv=5z!_Ss`LZ` zb;M`*`xx9{__oHvu%|Xn{+F5hGXWw&N*!(XTR}pwROBfn6CLm)$aibz1l?@^gtg{^ z^DfJOZ4iQH4@T*}>7R%>nw6r`4dZsh%4Q_-Pe#SMXiq6mom>jue~p(9JK*x2h0ei& z{9>gjBnB}Q7zxcx+AN4B6y!QhiUG2QBQ;_6KyWQD>@z6%{E;A-Z74|4 zF^ir$2${HKI|gh41ot>7j>=2+jW`33E>M&T@xD)Jx^2O&%*lq7%tlwx=YC@;Tb7~6 z(#GI)%;WQ8#LZptIwhM;(YrKuIekgq?Z<8`?v~zfe;>DGnV>X0hBC5v55);*8ICw? zOtAj+!RD)nf49qDUf^@=%VJ@ql6+)fp+Z4mg@LGrpcL#-aH2ut7*wTvAvEwpkDsi) zuwdr$Oe0`M(e0K45iXj9e>(3dLxxvUYR1@vV8I~0e}6xm^J1L&<GC-iHvO65@3GUmPP^%Q-g9~?>fWkY%!9SRdkg{3=N=IzC?!p$B%(!0 z6ob|etDLVt9mj>-_(GL3SJUCBwbA$h1RPXrFI%{2pVv4EzHW_=`JqQ>wfjM02BPC1 z2i+rlZg4nC3?=9>##J6t*v`O)s$nh>7506=+9CIMGqDX7a3G$;9bJOwL5d^)X$^rA zZH?rC+;$gDgkS?#07Gun#D6>Mn#$#mK<*7$MsDNy-HTFU@AAx_3~M`6AS4yi4t!8= zDbd+c=nE{OYy=+d{>o0F9aR$q=*j#F|0ZlXze{|jyQJFw8;z5tf#2Tbv9^U}?&AzB zBqlINZNWKUjAT(cV2BGs48y@;5U)kra2viW?Xq>8*wwRvpbS#XMoG5Cs8(_8MojIW z^78akY+Zy%Fr$y5p+eDsc#ksYVZmX8M*B^{!)osByt|qAqLTE|UxSg7ChfwoAQ354 zR*J3nXlYpEP<8cLSAEX*{bnL(wdEji;Xh1>p$SAfo-u((%<`Ow6spw1!4syT6*W}Q zU<#PrVs7kMMZx-z3UyLRWG0m~i3!6C9uo+KlQ?U$O~0^1YcPah zO@+~!LExhC$2??rT6&V;SCOKD%!Th`6bhe9=d94z%CSl&R?zIb*RVe1fNyY?1gJ}> z>a)!$$UEf(v8RLiflMRUSYQxD6OvzR^~kk;_&+Sf|2jK0eA^5#)MvffiEe5 zzAOEZNz487H18Mb5CM;8osAOY;X*2HLB8q?95AeuNOhG^m1})t1EF%*yCJ`Fm}Vfj zIc`NiY=X>fk!kAc2(Xs=f_bi_9F?);M#EMH@}Ib(1xiw|`(kl31q{k1Ndfi#0UfT< z!{IX$d_EfRp>`3i5B;xhGguL_&fEQTzb%On9U&Z`(Q=!MgH|j(m2Ed#+h5*4?a0@c zM*J~9b}-VkvHX}WdmO%7f%(Mw-Aw29REd>lmRdtIQ?a|st8>SKENydNUo|%kTB@;# zI9Ywh_!~QK33WBRA3uG+V=h0vxYSPSYsG?YHK?-g7fQZ6bSv@#+LFza5?elw*BF@G zcH_vbrS8|iwuB6Zl5fr$7u)Y0ESKKzm0+81Gab|2?M@*AcR_@HlUv;vIS~Z06K}6y z)RO|a6=K4&1m30@33VguB;d>p{mv(B8SWRV^q;9gk8{b5ixIgvXwMsxgbZ50amf_> z>P|l|KWIAa7F)U=|Kk4lWpn=~s)G2^65B15`#&UM(W~5OKW?(x@*LKYKq}!yH@TD- z=?ULmigFmcA2v^2erZR%ycxH=RWBWi^De}aArKGu3Y&?R+sd9GU?_oUI~m%u09vE97s@|92}Usnyay2* zOv3Tab!@hM)vxwVH(tDvLS7n|mB8tMq5nBPoa)UMrn3Q83{mq-ZvbPsGYSz1*=_P0 zh9$Q(Q9FgFOT@mu@8V0qB69m-pY@XYr=Od7$n9w(0scRS53>(LLf>E8_s9R7ITUOL z^`ZDt7mErcBu9bnX)-e%t=a0=qL>J)D|xDc?{(J}z8j|yQTJ{2tD!-&n~}GwWKp`H z)9%l$?((h9Gy^}|@y*lQZ9xad0`DOd3qy6ptgoHQjeWLC@UY7Is*9mDs*s>?EX8uU zdl(a|B>wlpZ}BMYBKuYHmweY_an-suBk~p493~T4NKv%`hcKo9Z<uSGB!r+@d|@yM^w&?wcEvW?rLm>}PW zI$VDZ0f_693x3=K!EU3KrR~u5DUZ*agVpzk+G%gsl%D%Wuj$Q4z1!mIMRC)bwnN=L zz5?@Gjjp>8kDlB0eLMBmxNg_6&|wro@8dMWX^(^7{F)o@MdL0WZ_h&>QOYlWl2MSF z&U9{OZ{ykHJGo>YHRZb>#zyyEucKW0RXIxsWO;YCc!QL%^WYTYfz&~*_tZJIPo?!kWD1%jy~zNn|+7u)e%}a8pr8+>?81uQ`Hsfo|m z(>bP}tl8?kaNoW?QCX0JZy(eT3hOC%U|I~y7HrhkeC`&-e(&B@5!}LF)3WWuM*RyJ zcjzfETKI+Q2PiNh)E*n?36a=m)!VU%MPOrT)Mk-ZD#e4(h(HI$TCb_oX&=_s^gw#g zUFd?J8*?xdwEnW&0SmRs?A5D8bMTUJ zZAb0GzG9@AmDoX(pN~83_wwEf+SG)bzZRO{@St-KE6_FCc_7ig``p(UP4Jfo^aTC$ zhZ(ED#J6|A+GQ$Rn#yRM-K8buy$_G>&x^j#d+TPM0BcTYT6bLw3Zmw=cGKoKfe(?K~|oa_e9hgWlY#Wl4CHe#!!-eJ@I z+A)5(X^f*&gjqQoLgyLJP+{OZ^}p<_3Zk{3A4SKrIC^e1bfW44BoU5Sz=*4(w;D$8)}4dGeB;MB<%Lbu28ZO>5J z28hTjntWW#GKf{Sv1^)DHXAQqs^vX@>u8M#nfSJThA`0bC}A`7j_(Z!e z*=sd(b582)dj$Ho3@Hw}YHcFot{R!MVsdRCd@v0=_-7fq0ng6E(`FTvLfG-GYax;< zI%_D2qAc2>_|{`FO?B#o9M zn6ws7Pn!n-ay@W$->+Ma>Iff3Q@XW&WL(bpKT-I3=;jB4D#zlQs^m@@3mCpx!fsY& zzlmkaf`_OeN99&!`=&`X+}7Z=D6X{Z_XNDwMxSy%1>4!|b!B{8qO1K0WbyD@uM80> z+kV>CWH$Ls6{2iu*G=ncF`-LkgOi7!&{or(ZvFng`6Eo;79K|3;-G|^o{vJKwbgFs zX?x5+#;=3dj`!_)ux@iJ@Sv*e%b$NM@GE+2k%~lJr?o%$mvq{XZ+Q>q zYb-Ym6A%XE%+utY28+R8>ySrX5TB3tS~Z)d-ba7Qe!eKffLU7GFVcIlhVw=e|J?E& zXd3nq)W3TW6u>%LiL3XB9fOG98>2nR&24u+ei9BAIRJAji7vui8fqj)UDB=qGL1VF)`TN(7Y5@pKy1F$zI#Xx zXr1sr9COanB!YCpi%`CC6(xm49U+EH0gV`gKr&SQDcC94kX*TksHlawm`>Op|E#41 z`1<)Gn4x9Bs6^B>k+|M=P`c2DVG#bgHS@_tC=Fg?*T2|cmKTtBgl-&_dngi+1#%-d zX62bZ$jMk+QeBM;z8`r6cpp^K)}Guyw-%%2Zonfcd!B$}XBqp)8xpi`IlUg*Rx)OJ zP7axtk)?Rn8s_c&wxV-B^-~1`9SQh;H(VMF<|};-iqH_11^4HJWEg){!GR|}x7BE= z(L2EBq1)RXJ-9n!Fjv0^;s8S z&&)(QrOFG3^eQg*9f0)oVOgUm5xpruAXo5cobAMB$1S4tTomiMG*+9r7muyDvy}{X zuS%aQrAEzZQ`gF?4td}%aDfY%>@pF9PzGU`Sds}|Qpt5xh--n;K~q2)TGy-nzJi6E z5f(QM>F(OAxFizrm5&FJrqhUjhfNMEC2Z4ezxWQeti5qr_0IQ001WIbzE`kiU>Njf zkBE4U&!3>Od~c>~DpO&My`iQ>ie>8=P=kg1Pv0-6I=@^}PJCIL8_*Ir3_c`cB%lT} zOIUPXYKO4XUzO2sr|n!PDjk4>5t=VxiVMR=6-J`YvBjeH`{(s134aks6Hi1fJoRp9 zT1-rqQCI(U&)4MR8+OMVe70$)$RiO64uUHD)o#oZK2L{@2=8zn*7j=TOCdMOTLTla zn)sLJvD6DHev8v0e>_-c>4FlUoTBL!@x z?&H~ORXvbJFyFPy1_nlFANpt`yuaNigPrCjx4E>k5{25Zc3wz@6OIN82{>|-SpuzW zMp93Xa`mB>H|*%omIpdKTwS^FkVPUZE0H50_KL~@9+Uzd4p8{eX&CRa?e%mRSz`dV zWNI%Z?-*1a5h*}JJY)h8L73tITdV#BatBjdl#k%h%Rm_u2#V4cz_K+>d=u@>n-;q75E4T()8E3Lbkq{$;-xOrKZ*r3%aYPRRkp-1bq?xt%WJ<0?gRdQyl zp{K`2`$o>t0AmKvz3snPTda$3E|MRIy!0g(o<89>o9jrY4;-b6-M5L<;<2=bzI#RZ zi}xRWVQoVo%qIL>|JSXdj^ZERSSd6t@-x}r#J}in#>e93T^>nG5M%HU>`G{K>OY4?&l5Y5d#Ewwu8Ti>EF_3vDiTcWYy8pzi2jn9YaYrEUK!?re>dQM)=>0LA# zKCG0#E8+c2Q>6i6=lt5#>jVhF_@xw8iG@EieuVbhIvftvxI8q|#>h5|1w5e3vk;Z9 z6I47--4vk-LngCsIn1C^mf<}oe5KzOwj-H8vls2Z@sJQiYeN#FM=>2w;iUoGEL-d- zbW17gb?-wrHY{>xvM%K=9WIOXk+YItCYRpz)(L$aA*1<#rBR_c=jL< zoA<_&Q%;>nGQ0ES0ErrjQcUQ*a!@fi6vsrve@*Ji(BU}7+G|W>poEn$#Z%3P1%X*Z z_EQ;#1D9Q1HYr4l&Z1dIU0uE;{YN1{fw$=P0m?xqV7&CjP^U(-i%Yj6qvpYKdSTq^ zn&245PKZrGM3C1e2eFL~oT+DeT^8zH#A8&eOCQfZ9c7cRuE#AAGS5nrKQ7CS){C;Iz3y>kPL96_?~Vkbhg28 z8BC3a(~5;ciC9khA5XEf)x4UW%?;v8NY#yPHR}$GV0-{AkURp-93zHVUW)xMIl@wh zJjJ#ZX}m5X7_HwakQ;XL^WAMvc6h^UIWNs8yTW;th-{wN!lHx{(bAoJd0|$`j2ZP1 zqc>4ogc_81mi6Jic2rrw$$v9eDdb;}z}#u4b?r!)IEi+Sv>>_Tk(J+%wEO_kS~5z;FsERV@b}eFk<1X6~Oef;h4iD zvxIX`GRv~etFDxgNz1eV6$22FPvA~jGy-+vN8ymk%^!i05u~dJ0qmn7hqSyw?G!+L zKJ_EbOF(Cv6!%qk}2m5y%lgdhi_qYJQyh)rKw=QFVP6e3mDq}6f z>0LVjtp;4pBbPTn-YVNLYA;8(ozXnG*htIOPdSIea|Hi)n~8Io>C>LJ?$`)NQ+>L1 zDdiu|l5hpREZTTx(CHzJxocc!nv4!r0RdB=2J2|*@njS!;7UYIL_KDTp=2bl12XyD z(8i#uLCMdnjdONo8O`^-EmMs1@!YNAGf)37@Dvlu{OV`$eT}-k)csZPj*ou@$=Vup z>9FMI|Ki|3ZSxyoR)<758|3|SOm@(O#*|4G1O(&TofqiN3^pem+@cCk%WHQeH+5u(#_|%w%QoJ(%WH zAp6d~sGORn7yApExV^BFtOi%8*%MC{{#o27K;ZNyeph99`}ix?qNoO6A!_B&mkpv! z3nFoH%t-XuWQ2?Ko4M)BjLs72r`3B-1Nh!+Q~Qp$Sl-&t^A?@YNe@GolLiExG5ePt zsPT^{Z_^bv&D2vi9}yrQtX=QWw}kuvy@MI#Z~@i<+WH3DlDzV_S*Kd=Ym*k8K`kd* zyodc(;qs+N3=S>k!yYQY=1&k!Oh8P`8P#j0ua4ODCy{*%pIup@{!v(S3MiDqoLFL$ z+bEd!Lf6hILV>byFO0a;9jxyNFHanEplp5bmzJ3Ox|PiWc--& zOGPLnr<+>;_(ve9FzwyRHBP(5kug0mBml!Oee>gQy7!^^N6h+o?VEv)fo(QpC3dO< z#CB*9tHY<$(oreMkcWz~j4dtI!lKOF;L^RlWZuG{s=C?_$TS7ak{B|_fGqB^=hMIE zQ%>VR=qY6)8Fo9`JzWz48O)xJ``ERIAuT#8pryejy!&;d)sK|H5$W47cXm2@++MZ< zr7jXaGR$jYjIXKgxSSoTNRk2Ugx5f5*PeXz z^ylO9*#A`^wC+&LryC1T2SI>>iEfNf@+g6EQ62smGwU{y?2Bvwe`vJopA^SPS|H)1 zkM-LO`xyoTg@x%Ke>u~qEJJx+RUhbfKWf+Bn+MA;Lg)+RLzhm9*<}1dP zG7piphMc=shcx9U0VxDZ{hC0cla+9A_O%+kyA;;>yAbu@F0=l8T&L<+dZ|Rt34|`&J&M)7kW%y1XN2pgl$grGL@kU1d+6&d|HasO6OfOThzwaF`S5%N15v$Er)iE83^0 z!;(F5q50vw-@&R){$n@IcC_;@S(mK61_m7LAVreeJSf1D*m?%32zXRfNTWh#CP|@~ zo?Uw;IWI890J&oEBPcHHAQ{jyZEC zX0lj{P781YA`IMdrtxDnqgA|;2FZzPOG!fzlmpD|1#2!1bVM6E1oyFVt1N9|l+ss; z^ltiqnQ_!>O2F9S2di{Q)Mgq+O2Xq|&(_K;wX_P5QERYS;0?kBk`0=yRZk|0QvM_@ z*qv(9t7{ayaQ?(=B-f?mBbauol@4mW%0JCKarL34jQ}K3rA<|v4d&5Q&iY=B)KCh& z*p|hw(CTW%C1sSl7whe9=F_=B)&e;sx#c|LkTPIQ(+GusPG!Kw5=ZbB)ireQw@--- z&;h%a=(1a^iS)i3c>zxPA@orXrLo(G_?Zvm1-?X&YK z=}qhZA~1ILVne7h7y@Prz;2n#JqNn>1oW@&q)2unoa%q-?|G;x|Ju?*^7kYsSNGqO zE1jL47^y3xM?vzFu+v6+E9$RcL_s2W0FivTnm8zIeoTVrNuvukq~Sp*UxzD}<=lB) z!jCBE)zsy?eCBdu51)(GWLwOzpj_(=5b<1F<-U*Zk0rLil)8BM6cx3YLC4$ECkuzz z-H?fcN5dLvTsKY*#HmzT+mIw0F~decqD+@PaPRTc0E&4iY-OE9wHNMbiE)l85 zF>$eZ9wO7_gQClF7`2}TtkQx4I%eq`*l02qV351F5sj4g90Ghk0PQXwU=9{V;ZLF2 zKAg;Yyqi}nvyXRDbLbafc`McJ<}_Loy5OSEuma5ed>8DAX!a+NFktp?e~3~1Kf7JI zTUu8V7X=5XccBO;yv`2eaWfaQ7$A&d0>yMQMZ@Qhz4vGHww}9QH+=bi|Efv!_&hA( z)ZKbpZiRVNoY8{GJO5c97(^nM5;wIJKCIv%493O=x$CrD_cWgQ=R)2b`qc41M~Qq>W7Okvi=ZHl_NU=mkIKC9ahlD*W^Y z2JtP&TVuzIL;z$yLPiPV6ORb-!c8&`|d#aSny+(KAAGs zppI%Uk&v)T_HKyqYN73xut*?!)3zVwZ0@4{h|e{VVfN2AA-o{O_P z>vIfc#3_RWBxH7&#mMiwSM^0u`-$!SUsu3J{i49XAi`;Xi(xBdM2oY{=QP8u_d8tN z6lK=h&d0tVNT&Ah?;g3EFLxpaq_?LNBPPtH+SQCOAg_iymS4J(yCm59*lG%8RZp>!iI#Wwp)EcH{@Sc&p#| zi6fv%WG>_QwODDb1LO_s=;+YE0j7#sD>YQe_z?{FFf9?QgEES7XF4Er*zRmM+!!)M zICVjIzDbE{@J>@1(_Gs^E$W+2`kjfyy*(Sl%1!8zmn@*`qoH2G59uR%?IS?hYh=KQ z11I07A{X%vp2pd3qrbWIe%<6YY#XYHqKfn zGIKIA08nlD zn;XUf1dxLcJSHd4iFMiOktn)5hi8&4czKN7Sk<15ob4HPc&Nlj zUrB|qIz}w|K);<=N#m2QeKanjL5@uOn+~XX<6wa}E!7)O@sFMHQv?*ScwBZ3VTZ`! zDjos2KbR?bI`z71)oKEEvQX?)8EHPBr^oaPc)O#6B)7-UDO)D|4o0UBBpILPPc^)1 zS==EpRW%ld;Cbw;Zt!W5GgV?-=m`NFLUA zr-k>h`2k!!WSEY7Z7WkQ@lH(ypZ=@$CxJ75kdYVe$^#hglG-vPmgw5RbZnb@1Kr*P zS`eD5bW&2(uW37IrWW$Pvy`%ia6r~8=CB*Zn4bp$G$67M;Da-WB2b{wRBeHB^oO$r zFwj{W9Y$#Vc_V)Z$M7$I77Bf65bzSNAMuIbQI%z)3PL6zo<;)p6x{q(w;O*}51BT6 zJ4Ztcbl7kDR`6tD+V>_8F{aq+yUoP_m@ffa%zDlj+|?aJULy@Cvj>UE9x)#u-+*eP z<~A5jw^xj{dz3JdGrJ)q~vLICyBxZkcTqr<5SzR@yehd?X-ew(uOmHe~-(P@lY%NyXL z_NztYAQ-HQ$xyDdSo^}YdWf4g_`Op)sI~s4Ej9F?XM3!Pe;|zkWr+HrTWJE!ml34l zB{|K?^NV4da=ihT!R>npvgjAS>jC}2*BD!%q z&Oy8_1IaRYgj3>q_+`xds5-v51v!a6GJf&6A%u8u_EavFRC6qzz9*P0DY{pUxnd`U z0YEQ*)U5a(pS5#BQZ94q<_5o5^KNuG)gDK@B39?63V{buV^%y+Agk(4lN5_rvv}J1 zux!c2K2(u*^bMxZl7R1rd_y7O>PS-u%tT_;QFcC$UG$0nw0%i(*?&idY(Lm^b+X_u zbP+P@blECv#6>qEn9AcHS7+>MAn&L&>bX0{mw)BvG*L2<`EQV>`S5L zqsUXAF3LfOO)M3wDE(m+MwKjHAK!eMH*uPftuX4mHrflxl|CF&FNfvmBH?AUXv_FT?k>&s|7?LnFR*yMD0oqv1upyfz}fDaD+br(RF)P}{sA%H+lsa?@|v*^m=lq8Oz1XblkRb?;`sK`?Aj{>&qTCp$_ zwU@u%tgDvdj8@A?g~sTD``Noh#3p8}V(*}X z84nMh=y?d!NE7hlF0VUX3Ge@rCcX7}y6)z4rg3d`njmiTYwKp!Bm8YQIkX^mTcy4Q z|MJcCj~`*^&+xzw3LDmAA0q2g(8+k4(*P@-8revBzGBC% zK|t1W+&gBN^8^KFd@QNxV$3=}XS93PzeF^#0po!J(%qV-nALUOIh$VgUrRGQ6L9WP zMhLr;(mIDFTh)ot!b2s(#CLnGY7#4vcPnoFC&8i?!qld!;c0kaP)X{BE-?0 zvAn*GE2sA?ich(EgFBAJ2e*PM(4Ks`_S~;=5C_}tE#wXYUkkA78oteuQMvh5sIc>E zrZBhYR8LelM~JS|i+i{J!tW7o9Zn*vhjY2etdIl#nOZ$P>>`+_1)HPa=NBRa_XA{H z|0ig#CU-;6!w02F4t_LASkvgR#>hZ!5NPZf{s#*NOd)RO8VXx*!Fj-~dOkG{^nsT$ z&8|(6%OWa&;*VgjQ5$NzmE{-isD;HgT4?RL_X9{StdDy98v0;_MxRl8W9&Z0rIj0m z64D>OxoRzadz=E@j|26X@<4^d2ZPF8gKz!$Fp70p5wi-1`*^YV-_PV5$wfUo3+>w! zh$$B+wL!PKTyLP(X^p3%A&1`e(lr319PQj-;L_K^M9IWRSY0ueolYHx0V_GeCfO<0 zputtrRgUWVJ-Bup(;nr z5f{D7fMpx*I~9U_%D@LikNIP1@nE`B+L3GWvL?+6yN*T%`@Z`k z8f`ctZG#6Hr?9RDDg1>Mj?usSD+0CzeQL$*`&WM^WnvW?&tBkwRKx zE>8H|(pb#n`G?mS+tdp9z9x+&D=>t>F><4U> zebDJ^PzLw8FF8^qYLe0}f1V9&+Z>oLH#D|Q+naIL;4nz{C+;BA^dDdJ-1xMpbFsUStxZb1C zRM>xR96f2y!<`)g4u^mCb$3ZR##A;Jx0qEQ<@u$U{gGwU~-j^I2UnLaP zo8A?lo1Bx(xg`=y3**go<@4B&Vob1xv4@|Fgx@#MiBhr`ctofd-9%BJ_Ns_rmH5!6 z$HxIPJWuzjp%3^8iPFi%B%JB)83~fdhTrmnwJIzzzjiZy;cq~ilPCD_7clrTn>;y6 zr}|*y+ZI0lRE|46JJM<}8wG5J0gta++UCE6y;EQ`8~%ukhe;9`E%nF*`!k9) z8#%Ifetr%FPhl7B*$LG7t^vV^Ba}#sVCB*MCEN$;*=5B+D&7t3k1Q-Keg=k%GnLnS zlXRHqHc4}~T!sPU#8 zSKgfsc0d0mN9)MS%C@eZXMD?GNIP9nCFK+=pa=WeZLpRF0u|cUL)<%CaA3*J&Db{e zF~!{6+yIGZ$ppwEK*oGSqYq`KyDjQTk>jP1i`W!WcGLV>nv^tJ^pMuiHZc<8ho=mv z@!{$4Jj4AYo|dJIGaIWOWvQMzx#Vzvk-hnMwjS{2eywbo7PjKOg>4kiDfK{BRUIbp&3dVo+ zs@v2O#*;2#(bAB2@qVU-o<3S|>h%RtH)s@l3aN?A$cHjU;d1gWUxzH)%C`C6mrR9) zL&C~6Fj8!j1F8QI*IQg>d>oSmhL8oz3ZC7`*bc)t+iT7X4pvaEY%wu1FYk6RVs97a zcC3~h67>EAozQ`|TeqBGPw#}v{U^a^o+@9GRK_-%y|$N5+%FYGyr7GWv=#ya z{R0eQ9!B9cenZ1qht*4}^su5-zMIhG3R0(y*|qiUt1XM;;}-8ISo8b%A4U+gpJEn8}|%7iq)N9>R+-8&Us;UOU)*pKNyDG1(oJlV4`&VkzUsK#P7?DX>6jWAY~3Hm=PjBm)l@nJ6`?-XN+NDG1#yxxDS+dqDfYPFuq~ za(V|cwF4yM9Zpv5EMyI%6h&5XC zY%+_A7tT&x5QL#jfPtPhWgF}r3mHKyX8+%yL2e5n&J_#5NfA66_43#Ei<9JZD6%nnK0YsC9ICx=H%_qnSZ0oXj(`y38j zh&nwn@sK~gc`nA1`M)bb7@7d!QpgdC*CAz?FD8A!`iR`~{I!8sG2aevG~u*fQKldQ z3Vbm$>D~FFA)oD(KJXvtXh;v|nucND01h z?oB!it6ipHBG_!Q(^=R+YZOl7e&El`;f10j8byb-W~^aQAP1#Y2d`yW*|2fW%K!IX zIE)A(Bz$8#jc-he@Cr$gWvbQ=5C8+k^xyZE=`uYIk43*wc#E9F{vS=}93IE__Tdd1 z+h}a3v2EK<8rybbHMVWDv6{witj4zA`Tnl!-M@Ed_nI?%&Y5{W&wY~$Z=0Pe=XE`H z4P+yNW~$T~Y0f7LSM;Nk$zhSo=G-IL?uPp^e(snFd~Q}aOM{^V9xGe@cj+>D=B6n! zWTKLwFqaoAVrc_=#PZMSO*d#MZSwOI|M~s;ChkKJJ-0M8Y;YjV04~Z9fl|NYE^O&5 z!copHE*K^mv9_4dcv5P%yRpj@Z`05Dte007SrlbhS*3r^gEtC2{QMh>i;9{an$O~G zxBK+ueGTzH1iNgHS-ufNF8SVWP7CrOVB?tVR%gOF?hmH@nqJc-YSsXvCgS(!YaRe! zAuacSRSgUenpVF?UsR$0$o1CXf5MyK_T_}hqzHVuzMfW}CjvL@|G4NR6_G8x?4 z1_R#ZN&CSZ^+^&ASlQU_3Y+vuL1bT$1g}(1H5GAjDZKawD%x2>1A7+SuF9ZTP@N+E zd`Qc-R1AtCM|_^La9w^0R-Ug+LP- z)Kp{TKZW0x9(!@(pMa6V>Zp%Oz_T&W<2Kyx3zl8}J<06e$j{8e-C;pT#Z98yTSZ-K zH~tT&t@pt}26g;RzlUga4o<Gf{Bp+?6SzluXxydsZV#9i<-*7U`? z(GNC&*t4+z{e=Gg%r+et+VxLmP1tL+}5{>qWOqyjwIyE)4(K0FBrNgexHwUkI~Y-$}$gY+dT zReNZ9CBv+MQP+rrlDqOduj*$V=ul>n;I)ebaa^;+N1hx3(sn|D3}QIg zuWiex*O8$fy4idK!OMHtP~b4ea`SAZV)27?(vZqHvi^0`d#Eg;^Fc=z!iu6O!rAZ@ z-sO+Msvx_naJ77OYf|Z?X?TzrbU{br{dH%*;=5?}DOamqO68tBEqzChPb!9+@ADex z&)=za)Z=R!u6u#)Gdqg(-J+MD{_|jm>7y@jGoDWcl{;Zf@!mVybnaaw{#OwVc09v1 zf*S5m-(1LM(GiRu@{1R~J|Z5a+BuUk5u>f^^{7F%Qqk(w7_!!=S*y-(V4DAJMyOtx zElDY)B(qt$`q&a|Ix5RD5jEGKNVTUeNdHqI$iFq+;<{cln7 z7Qf!ZU+sI7cZ>Xj{?^SbTb-9u>_V?c!pH(O46X!DJ$n#YgQx{U!7*oz{_EvyYvK!4 zceKCZQDWr1S5bpi9UB%|$j8*haFKAv z)SM0vEY>{(LbeoN?Yxsq8-&57!4)bNSTOcde3LZMV8uZ~lrYp9MRQh`!lcV#P_W*3 z!R?ME!YF0XO~`s8r`QTM?1iJ}-#Gu?#4WwGXSVtDXw)8xwn^ZO1u4y}-WzflXW=-B?L5Z|m) z&43pq+0BY60av3_Ve&S~Q6~lxlP=VaGdB4{Oe_>Q)`-w3*FZnnphX#BiVMyPE7nJD z5MNVJ+F9GWiti}`!z`0pU?wSV?j|3yNHxA3gbSM#e(IXkp1h12j6t~I(?`|SNk{H)izyN5?+VPdGv0(*(w>nxTXvGt!!CXZ+& zg>tG{#u%gmqG9G>*j5fRf}d{+)#vu-$g@`>N!yJTSjy3}?M`m(Qpk?fz-`#pWgKz3H z#I5Hqr#dzAFFP#DeqBSG>}xx}!J&ZGS2pZkaU1gv$Usj-Vo3S4t<^xGRF*0w>R33< z5cLGuiH1UY*+OdRLh3gKt+V-^8&ovCU@445TpAiw>rfODNaKAEFRw&6X?aEIxW2E* zi60+MvLVGgFTunxY3T=OAQYh(JbHnv=C4*L8?`SC_;G(;%Dko()J070CQXwrI;Ur9 zdwxp+3|)c17+qc@oXzFdsL}Sv_abD4iwrcDgEc?L`OvuT(LHonFk(_B8L?Cf?R~#O z1mbIdX*6Y-tbcAUlx4$@$L;xQjOAj5(+4|i@kG#HQa8)g%y41NEF%Z5j;(DG zl=79fVGbdmpbMw;;uRrZHncuIU64>NogP5p21+%K!LtVLKf)%-kxM6e3KF+i!mV+0 z$Vn>dH+ss3Rd#5jc#c>e2^38K%}p#QpJ>B$cUvB^>3*%OtYqY$UkNM3Y|;y-1KWlp zut|UgBZXj=nL?>d?Gd9qL5VeUsHU&BZI;bMVJ9i3C_&$hXJrC&B~T!()sC*EKI)}AA=;R=wzP^>_m5IIJFWC7^xiFck)2XxXx7W zkkLIL10G~tt3)kFIX}En01wPj@ImxxU*jbUl=QlN;DqtXl6m^qWY8H3snzvF2HMxW zs>Exn8tgw-?d)%oF~ZC}TvPwbl}jg^cTrCW(OBwaw5^eTGo}^y<&)Pd`7lN6mt(DT zNtx(#lu?<87NaB&#?TeBHR@L;11poZpJ&M6IS5=R0|y22RM^EAw=R38F&K1v0!nb; z6`GL4>mhJGgbo-bl`7O~UK!xR28@`qUA(!beZ#@VLzyk{zfgG|O}$0#duhlK=A}C? z^Urt$Ru%r~@w3@T45>^&>D7rPTx09*nmeX|v<%BkjbAexD0kK7!MwqG4iK;qk3pSi zB-aT77xFKw0oTIBq9;|Nuh~zx5JA;g?efu_IZ^b}rv(XlYHVFq!)J>zm8UT3t6&TR zu%_>T=`o1l5g0iP@g6{bsp&jP3j;oqjv}JGpv{6$F3m$#^;BafS)^v3CR+nyA&v+j z_xdo;6-6U~BptvYMu3^u+jgZ3v-+dL3Q80g2A2yWhYckbGX`Q+Mo6GQ6PyHc=>*t9 zoYvu^aqxZ^vry(zt&*tsdG8Mn)osk5Vn7!UpkUQ!T&6KZ9d!asDWtWt`l7`_DDCaG zRb_EKU#5HW%4`~%o9`x=devxC0Jc5AQ|0A-T?hpTdM?h+fQQ*CQ(!_WCkeq;ai;rq zl*qaJM2BeRyS;rb4e(PdO-$5T8e*y9KCk)-el_x~=Kq9hu)cp3!vNQltXuvO7Dks6 z)#m{VZm6ny>dZaeh~1lVck91tBJdz<>0(y><8ZcQ@m5BL6p*X|!hj3lCK*Bzu+mI5 z+D_;4>n5@hhXTLf-u?m*NC4P*uUthbsdfM!rs$`mtlR+TD1b@y+qrC?u}`X*o%(QT z%bMaDZ4SCj3k$e}kiX;&-vne})bHOp+}r@O+@xu^!Bkg}L6c1M9N8w3Iy_wt&}18H zFChylC$HL0O-#_yFcusct_o`>1<-lXbGDUs^HK1{jN7VKuspGZ!6cFcuKN=JT_zx2 zfscphe!1xfpzoVHFX^R2XHt^Qw3lo-nDp9}c)U}i12hKX&3Q7#i$cla2 z7ZFj~6qyzsKWlQCqDJq>xxNF}K=ta(n zTMk5#5Q3R#q)jE?Ck6=lzaoq+dVWKt%;FCZXC9y1z@a^s>Jl_23tuyAni{hyCM;PazN4^<%Vl73vl`!cmfH-707 zd6AaZHyyhi3#5<)j|v9;?g%XRn_44h{_6VJxx%kRqH zl;1|~aKFOiMPz@)N=#2EUOt7DpG}(Ccg(nTMm}5d5-V_FCLp^d1rzC;mIb(!ahDB4paF)S@H4lS^7hcHNP#A;kE0&H3YH5i)|;=Z@4}?%f)3flSUPb< z`N|Ge7$QeW6zcF#5?NGnkfXE8?n;0o0+#uo3N3DupzU zP4H(;G5G|KPMnHV%U88?NV4TQt2C8=4iu5w=qNu}>Kn-aE<^g;wr{CubUElwqMxkGZmIMRTjydsID{FPq3Gem~`Em_v$! zZOZ}(;{OB60+yRN+;9I_t+W7f3Seg7H64ioT)^3Q$RaK~xzF)2KCk(}_#$Tun7)`g ztS5_kN~-28!poSNmB;<;0WxJLDVRE{#mbQ&$h7%$7jH;q(qzjA4*Qp_{;cooDPQ#; zXTNl16wWkUB9>&@y4N9FiI_I8?79D~v5!=zX4k3x7n1c+7VtThsQ)@F6Fgzh!s{ht z7lovb-d3{u&k;RL=R3kYO)Z2XK;Z*31RBu8!@`D#hO&9Kh$ox@!N#KXd(HAG{Wufc z{-mT#S4B;TDNWtoe}9Zp`U!J&_1IVE{aulnQzds@P7Z5rNU^Ahn5alL83D~EU3|QX z-9Q3v_rg`{WlL@m5SR!Id3?#{?#zkkd?Tx<9EnNMY6(2NrmFa@fUP~N%SNY+bqO}U z8$mzJYmOV6X-tePdxoQF5qyFQk%eV-h3iUndLaucd0o-pvt)7&Q?}w#G4W&euRpdI ze~cVy5d)ToeZGL%=g)^Ga#RsOv;vS8e?OeBDe@l!-n1kNSu`}XsgorD5_u1-CD}Y~ zCxBmGcNyNV;Np&tC`J#t!&GSFgwb1>>#eTrrvrY~slax#K-Wp;S@!Q@PHF|7ICCzS z0&&mpMH@^o!5s85(_;qFt0XR&%srW7ixXHOM~FnaaKgf>Vs(|$B2GjXJ49pi*#!cs@jzvQ@;+#C35iKGXi z6L1J8V-!$cG&ilS+1j^i>w!knd6s5q?NUvL?(X>i{ z11KP`uCCw<(*a7e_x+;ga|UkwN)ew}OkjzF#!?yiDn5N*6|dRgi&`>>mYeWebq7 za=?OwO3Wl;z0Qi>B(O=sZvQc8zb$o6rOC;M9QN4- zW?b!dBfnLUY1SV5i)}$V><>MA;N$O(B6*e|(;vo7%iPi^hw&0j9S2l5|8|y`R=v-p z#?#_T$51e%!@N6B_%aD4^4J^4j>#(6u&;r#b`-G#8GL zalf%k1sW`}iQ|=iADEWy{rLOqG^;0X<9+&khzV6h>cE4{UfO29=#p+CRUR4?=+9JL zRh_7qdSK)F{*ycJa@CU?bwVfu(++*@K!Nik)}Lb_ZK$}8D6a~oJ3#}-)c9S zxX5CBEUqIdMPRJTYYjgCG_Ae)vs@*)np}T*ECqrrN`jpud*tGDlIBzt8_u^kc%<#J zy_o@bt0dD*OuUxdi|3Ndd~i6qTHX7@1)}I+G3P&eI+mnixGQi|WDPp$@P#mcx@`sT z=6wzWj^91;Q9{l3L;xZ?Jx#=Bi89fMA-{sRm}uj zIo$jGfi~K!kB0NFHh4%58@<1L2XZ?vXKoJLu$VTw$5zf;ACY^~R@x6zynIIAt9Th+ zvI#GHLdGvFES(YkeYMVC<2gvv5Pb`#fABOtZe4EhTP}SsiAFjV*nHQxVAY^Wa*;5);$oE$v+EyZDeMhuRqcv<18m89#rT zHmw49=j4bs$%Igoxl8x0!F?YH1UF&FzM;MzdS5VeH?2+)pEf75WkV`WSP; zhbv|B!BssgSk2S1kCMr}I(i)(>HSN->?de-eNlSRGy2D`#4Mu&=*#b5xUbqw7Q?K< z;qn>%ldN=lXeel0{r;>JYjX9W1_wRQ##PTo3d3aoO2p0mZ;(NS$q5{@{VW{1bc zt;YkN&*<4CjtkGvITXS|ZoLzpO7Y(Ts@vjw}Kb3tp$p#WL z!sLhwCm9Fq9qhq?I0l{0`)dK=$C)x{oIs5!JTd=%$ojk#Ke6@FFNdTDS@cAtcqdA2)bm4R6ds zqns*kn%Btb*%8+Os^%c)5px?xUYldv0CtG5=#+99tR(8DCw+X-I zIz@rbb{azz!bBr1R0kK*%W6RG?%d8$E|eN)E#4C7R#l1T3RR16!TfdGaUJ>EI4Dnm zgXkR+o}w6j&h2B0Z7M^EXBs1`5Z~{E^=IufAiCZ7{l0yJ|L5Ag1l9s-B<$bHcfmK` zW&F%6XvfY_W_D3kO)_lCkrhieKs*7wEL;A{PIG%ttVRsI8)gi*#2 zSH|cJolLCSv)Yz3{yUbu7mW<~Cl)}#H|klH74MS6Y(10kpzRj8-;QDMP2G_6R9=6A zgHb?YLK;TD$-W6NDQ$ajpp)iW_#jAFW5R>ra)PV0(nM)Y!uf8Ew!#}3U_A4L8rbAR zwhs_y^&KuaTLP#>&O3L49}DESu5;{#q_mqm;4Wg}Rf29MFJZJa;CS)#eV$TgJw+nO zuZW$Eul0RA_*5Ja^yUh=Y~>Kw3zL!PCu+=#|FGzjCe$e2K~xwYxBw38KK04lk4UJm#td@Fl&sM&5rt+L`&e4 zT+_BhNVPG=28;Dy%@80LU|Fm|AeA)TW*;xE*TBD(d%F*YC!G)Q)Hq;5MpDwp3+`G?Zflvr!mE5>#MGX4r%5PP;SVHN zF6_n49de}*rYDb`uXurwq~bFCUc{MEKW75;&o|jtxDzAJjj;uMLzL{I#ZU#Fr$2B!&+re(_Ys z>K1?n`TC<~vzNH1G?9`oK%#EqMYD+ao>nn5ysSx-wkj&tR9&}==SHd8&}i>_^%9M< zO(txIO~Q+nDQRgVNz$j4xr%^Ls#Gl1zVpE#XoClK3kWCqn^t?NyKfbsCX|D9JhxGh z$~9QStT$UQi?E&6HfnGZ?fW43?{3YJO)qkqlM59CZBI6ITV0b|pQ+N{l-{!ehh=Pn z2$atoUx8^s0LGbBCm5x3W%&?;j0|W-K)9`{vWtm6`lR zj;(8|X0%2*d#B+s&Vbs%LtgqHuno$XS)#u;F9WPc*qBQEw>x$gb~1DMyap%r)^E2Z z&iLFo8jo{{)gk`MS5^XY3J?ryFR7s(?7Ds!gN@lLHKkJ=c+SxYYlzmEA!}}vE&o(a4uJ4aP)(5My2z}f{ zs@5%~$l6J%OpktCzaMF)a@o2+)@w6)5V8Dv^1Nn>nl)kA&d;Fg?uXj83h) zckR91YC^L@$d{drSSTx@7$stA^KG;ook@H&uexUotd2! z`0wAZY#;Ryms>?F3#Guz5GGXHye|gPd)@|UH+2SaP!wC3m*54k|23CRD(TZ#9A{di ziy~p~55#22*@cR81odjmnuPixO*9~8EiJ(6c`J_4IPxgiGBSM}@5Mel=cWH08*8pt zVi?0pQ?0bUS!?s_Y>l|U+lpB!AHv}eqIdsaVYZv zSEI>R(A(rVtd8JCaxH|9azSzuL9m~AmPhhiGi8fI=D>1;9qEYMvWv>SMiw&85gMF> z=T18!&kvE)O)=r>s0Ys;|M5Ya=46#3a1bPwi~1}ZVgz`C@Rhf4O+FYIXm<1!Qm{;A z4rZnf9EK#6rK*@;q0KNAN+!e%3NgJj8Jb_+#tkl+Qg51;MXLMHYqu7m1ski|BqI@Z z3|>h%L>~70Fy_CLVXJL~og#rLTsO+S<#e8{*YRr~MF!0mh1dMc=5LU5m;Tg*z+9AT z$aeBPKW!=*XPa@sD-Hod=(Rxst^Z`%&aEihy685snOH84^RnMbKUDB@TXX^~l}1_9ro~V8aaog=>m?!IHpCFH+=Qa&n4`RZ$k)YfQp;ZW{PGh$u)(Lp z|J!0m=N@o4!s4tsZA`&swOv}yN`7*=q2Xzsj$$jMBRI{i7D$(N^wjwxKbz;21 zNKAZs(ZV(Nc4?mM-s{uFV6jB(7kwE4e*4(GvV~T^=4}(WV?~hm}AJw1; zwT;U>XS2EH<FhKVSo@pBQGqP)5^wRDZ1m9?20epB|V{-<#(5$VgEXh;Rc&5G7=UZ7_f>cjgR^yyb+4PtSm%K*=II z1}d6K_!(D>8h60*UN{x=tN= zZ1Y)z&mT{!f_h(jy*0Oy6HzjRh`UihsOu;!W_?Y9+_`pMGy$8N@Ak-a4I`VMdgrf) z$90ii9i{}Xkf8MDeEYfJ`H}E3R@f<|!}u?(#vWw0m0_qg9x77*He5%47#S)Kf)-o~m)Y`%ZhmS&<&ejXKJ7ujfOq&-U6M`XSl_DknQ-ZYR=J~bAhUGE0 zQw2mS8=Q0eJd>3DL!oE!a*F{DdbP+~VbfO}$g65Rrjwq&R9U=3 zuoQ-}+or*;B#jCk_aQ1mhrYV1wRpB865HEmAk?_+&I8msR95ny7a;T2X0=XH5Gtc% z{Rzksh2Izw%maTV*5`x1IxNfhi$ewvUQ|_46oxANz6m`vG9cTCX3 zp<5$HZSLc)eqL?XLk~_i=@ha@X@4c$iu#sJF&N38`lRKbuOkyNI`ea18i#muV22ge zW?dP0R57LcXch~JU`UYqbOcbA0#srhhMe))~GL(Cw*JF%#n%aD(Do!!)Gr z%A+EYk5`7>&my+gUH@eVIa*58@rvYRDwWB*l10AtzmbxyCiCAcVH6qcaTFbKiN40^ zl^@Gxj2VBv_nM_?W)Qd-q|A-n^?Zi4a0;gWH5iAK9`te+Ji>x*v0s^o;n&&oM=Vik z_4)_Zf53BlL{^GR9?8lbK!s9D9V&!H5p1c0iyGE3|AlHbAz9#C>zl8SnRoER^i+px za^dOuM8E}M;w+^$;n{`k7s>vG)~hE4OPlVPVlWU%ROz&#?vY?I7R)DO!PEI8=^a%G zl(Z)29a#2p$Q&ar5p+AW#yFG-1NWqjj?mX>f#E^3us{|})B}mP2hxdGVmluhv|EJGm_N{DDFSKXVj`U0u()fnhQ|f zKmE!079AZO68rJEKn`j8Qz*e$6Jo(9_#8OQItmi9#Xt@MF-KcroZl2ORJ zeE&%Ml+<7)zeSZJtzIqPS`??K?#8pvuc4$)?^Xr8$#9^TK-=hOTp_w9N zq@+`$zfeFw!J)iW!!Z83^ zZUgqTidYS7=eJRrzPw#O4p}G?kpQ_ga6e$<*Ch;7N?p{So{->}h=3y+4|7BWm513^ zWTzu|tBs-=$9A^*v&r_@8SYyEfp-w79>H`W8rka{1TPCA^C&4t`A3Z__6Eo`QzWED=RhY|a0>(&}jH!%ka3XB% z+doay+Rc3byRTy3D~{?tUJVDB(?fF z@ejECuwc?j1hJ$jXfdHTX(Wh{z5D1X+GZ(l@`I93wU2!X@| zzzVDJ_X+8PuL+O^BcX?R3pdp8IR8sQN-9#fY^cXgD96l)#Ie*jVA9S>w&I}qC5c>{ z9xKygeXR=K?__p{N7>SlwS^CWgJj)z}c?g3!Kn z`yhO^gTM_p^8KKj)lRcAYPD}LMGq3Wl4lXC%$L=w->NMfFbbVLP{N5}5vfU?WD$l? zT^ndr@jS%g!`w#<5C#q`1?tCo^9ez5rjgWOM_B)fbopNYb~{0S%#$5Obb7$ql?9bLq&{gDRY-I}2#D!_zOncMkLllN|0+U+oFNb`pz{A2Cly{nGY1x=fJL|Ee z*;eB|q)kA9`DbNkj-%Bsh;Bg?q>gEHU~I%@$#jvfyTMe|woh1BzcbdHenEC&UG?&l z{i?1DP1sGDd(fH;E!j;z<=H$uNS_Qu7Ha!U^=G9(?ikhOB=ZYt>=#3`P2P5c}{;<#*pB@>uA;lySbS!^g#ex$< znBaGA!Sh+net_IyzcDuuY-t*~d%q3g5dBQgH1F)I@@Xs?DP%iRw{GY^x#?JhZ2+EP z?AO*hR&lqmsQ86f*A&A_Qmf(lIacdIA8C2k;QtXoIIZlX=&R>qcET>#YuvjkO)(5; zFn19C7U_V!HRcwLlWOmp^7T($qY6odmDM;&bJ59DkO_RcN|%}V364a47d_(e{nxJf zFtZFS_iBdYrJ~n_(E9blSR#6R-g;3SM+~9+a6})>lAV{Yc!x_N>a4KRmnl02@0-h# zq{RhwZ(G#rS0hK54{RtPLhVtwQ~0`SPbdM&BB0Vu+ps|27S1P4hO_?U|N zhk-WE&s|OkGQt!=Q|UD8uB&3!^NBd zr1d~x@Nts!$S+WCxb+e8^H$8!85^!%DGba%73<)s_C>y=yq6a(mf&&y07j3*nI9_bU6PmF8J%=;G!FCVygr@ z_`iR}7k>Dk^TrZi+CQayN-3&(omc0dk?S_qX;62c&9+zmDVEaLCCg&1r(s}Y z@*j=YIiD7HuGi%fU=U(vxo#bX`D26BYM(xOM(vMyscBjHXgOGHUn-rm6bHeK!V9?{ z7J?H^xJ#DIrdOYq>}F?YVWm}nQExmvEl1^;sbZjXAgj(~WW zLy;n-G8uP&yrH5-i3K8V);**#^yMV6{R}4h%QQw~rN!KVd^=oCG3>PjxKwg)d@_;# zVIO)2B@M59#r^rwb=-mKa!auJ8F!jGgq2H2j3vL9**J3IeI5*#rkl=7b3D@EahLfp zxu3%q+|Mg%EPDU^Yj{~x`}WZt=Wil1PTs|*_ileheCX1})&|N9 zijDnslC~jp4;7Oo_4sq+{K+$~II2+U8$VIc=Lgl2AG6D9|6KT}N|oh)(iDr|9NT6W z1(V;{o**wC{Nv;ae9z_QbnLw5r;lwOf@%UAB z$KvsC@(2F{2_8tvz1`+5q^|d``0wY7!%dqw>tcAA(Sb8!iq4?vB4G)*nA`_@9yaja}i>*uN0 zEX~TsT`Bub1sz33O1cEMhaAF4tix+lM|FjfJMmyn1#O`-!X>8~-HU{kw`cf@8exyMap<-Qez1t=UivOe zJsf3P@g&c<4X9)VE2S4y^v-*g(@Ei>6e(43g%3a)XR2D>>9i;eXY&R?3A0trl(T!+ zNYp7?CEq=>a}QutnOs2;M3Y5Wq|ic*Djgo8Qv}jTRLmWd;`(~9zAQ4P+)L057}zUg1)>gdcLggemrcDXfENiUl#juAtYa#q zYYFN@&~GJfWV`W3LjNqe<7ool8Bp zDPZs)dIZuXkGWLlc%Sj{A9E;^7T5dS`_l*PR9%*mh0)^29tTG@lKprrq6ia;yur*@ zKh?J@NW>zseZGr*VhyhA31mtAmu8Nht`X(#yU~p(Y6*_z9Ikqo$9^8^WEd3bRI-=5 zlfUQTVm(LL(`cm;i#qzbtr3V#=VWE3(sdBgU+NB zviz;#w|nbwK@)}b22t9R zYFT84sZ7fbqd@=MIiU1U{v16cz5Vd8h}Ywy>v+<>znNB(FsLZeuZUO%iV`ZB+xRbI zI|Z116hs}&#Kd+PEwE5?j)t%@FI&x<{6)ZPeHrwjn${d2Dws8Ycpa^Qxc@6UfL}z( z01=7LX(JTBdBCgD{WLD(=BoGieA)z0=!#2^`j@VZ<=%;hL&y8Pny?gsB$*M;%a9_x zhVRX-qPDW_Cyh(2eVw72WX8~LQLin3VWft0MF{D@;Bt4X+Wque(id_4VR+6^lm(d! zq?agl+}G&G>Q8M^DoR}6CZL&~7$hwwtmZl+jrqg<>}`0~El@cX)j~Vf>Y5-j*f6PH z>u1+{mcAt3si#JXHHT(uYF(k+-o+nQCmAStV>k#%Jar5tZUfsSGl1}JJi;c&RVI*E#Q-N}O?*n_cbj7+A{P5bAPe=83MEVmNfIuS zB&Lc%Ob$nCLT+O^zFD)@w%58riYv17uW@5*qMHDXl}j|zyxNE+7$vyx)MUF10=At^ zO9X~8w2)dPV(d0)K(o>7wKOwS=;k8I5UWN{wfG$KfNA{~gM4w}XfY4L0dK%xXHsrn{!rukw(jjd1?`x{$JqHG zPlkj|4v8_gz7aev1L)JL{1qfo6B1#Fj>-CNgg+lH3D8R6={zy#&5pBWF0ElFEx|Pl zwX#u@a1&o61pVw38k7tO`2U5k{lz`&>dm^|;&&4GMMEYTI=zM~6grLZ?!i4FHx1nx3LmsEwEom3U8&++ z$jZ$06)?25rSC*y^q&Lx^g?wo03_iDLw!9CPdc&smoEIklKkI@lL9cx!0lVTw5k1N zwqU^CQb-F|ji$w8WSiTJ=n|pba<8TiZfb5SkGB++o3P!#8>rWU)1LRaq!bKk}BN#h0154-*HF!*+5F?w<8#+Rvg)82^GC14NYFKBj;>aB#Io}j zi|rao9m#84{|*~C%;hW<84pW8il&M5dUq+g_jc%m1V04VFGCF-7ajSE;o4ak;^8~| zTIPF8-hs}|n$7O1(sNd0u_TSm8HPrZ&>g72DqzVMQ7Cf(lHC7`zyk_$8aleuU6Fx# z%~}UkU^kEqcVzClkpha z+0xY5eKPd7PC(aS;VnK{iO5iU*2u-1MWQ))QH*TCMf=Fv(t z!|`(k4>_+MMVe9!8{Zr*R?Tu@XZ78FYMZTjz)(|%A$q&Ge&e57y{)HhQX-R9_l{)) zJ0D4hOA1ml!Hf_X(it&|HuU}YGEFMrSQVEqqjiW;-_vKO3QT(4Cfi;5c8wr5LIcveVaSl%>A7DsK3mI zg}8&I1tk~eA7v74`3F?x_7=?(a#EU!;p{p{$xPKTcpCkSs!x9fp7A)~MWzzkMA6!Z zM~qdmEZA|Z1wniP()8z!T!6lMxy`{aN5KQL0zzCF!G)p`y28@4nqlF|=mPfX2$I|? z--evrI)4uFN0zbD9d4o3Pm6ALtC0+*rX0%m%V_Dck1Q68r4tr_-gKOR39bzS`Q_;? zJdV#3kz2(3xQ(}OEtxM=FBU0uh>Y+r`meJy8-C^YzN=~5{oe%E_vkY&)&ZLt34!v(ir2Z2~VZo}^C=g=cB(L^Yc} z_36-k65LjE**k6y{;dON7+_`Mp^m5p9iY1xCV@qTJSSD&5Vd;W`%ZDeRAxA+pUh?t z=%OYJx?B2<_e!AYzhw)rsWSufs)a#RGLfA4F`n#U_(jaY^RLhmr3WuBZ!JW=z{g5B!^y8HbT^;v*LJ#7e^0--nt2Lu3ilft3p6-W zOl;oI+;zNn`zwmh&VuKbiX!raqX>nfY#zF|!ywy=sevOkVG%OeeO*%bDFFKosSFu7 zktmV|G75a1+a`hqO1-`sQvB&O)0R|BwEbIYyIm?2SfAdya3l+l=R~bJZ*}xuUP8ug z-EP~dZ6KILub`pLo82T9Ch$OV8B)b=<+gPK`1CQfb|02xbvwGojnwB5^;p4Z)K^KcYiRHL+`sgF#UsoGRF7KZm+%3 zc+ILs&56llSDr}=7b&SR^WSB@Sa&c6QX&4{76Tl^k{j95Jl5{9)|?@)q0(_0zYii| z`je2ycMZ*7Bh6Q%q5wCHMYV1lKi_w*{;E@_PF3G@@0xw_?(XX8{jRm1vu2=g z8JKkKHG13zYGYsg>1nZfv>hIEY4LA#i2Y_MBXcD{355=)1JaSAzsJ;ykugcu)vRtQ zt@y6%WAaRE>gvQ0(9u~@5tf&imyAX3zQ@f(r37RuSP9U`@soNb4YKL@4)P2#3vu^= zyye?T-xSWOh!+IOq$b*40Dzg=G2!Uu3Y!Yb_R(hG zJ)8J70J0&FR6zK&q1#P%9$79X^vC1oab}NLTv(W8%4k(+z<6m%0O zriW`Yof+O4uqxyrtCd(8$ncI*gqLtAHjfc7UN%y-Ueoqntv9P>yBzu0S`J_0N3WiC zQKzkeJDzs}*W{+Js1rAxu7eQ!U1qHd*J4=DQopo08e8jb%`&u9`JFG18qczp z_%B<#T)dk!5oE81>F+=tzG)1`@UyIoQ?&oW=p_&r?7 z$q@&CP!2vVBals_tm?D)TYos$*h`)4x4Kli@J=!uCwaE*GJN@YqW{-4NiXB5-7~~y z%CN_YnePj)rD3wDov1#e_#6^c{>T!W(-t8s2x2m)Es}h^{L4pmh@x^f;EV=G;oGst zWwn9_D@{TWe~HLtBV5T%w-AfuTuRYHwj*vBsPz%jvvn>`DqGUp8q}Z2{GSy}D?)50 zY5d1CBq{lrn3d>C^_t7q0yUV&=KYQ#gzb%=lNC5FL2zqp(Jo*a7g@6txCsol-D3K& z8GN$M9#T@@b7*`BUsU!Tv>E5+?V*piyVxG4Yx6z*hx&rbh>nh~@PLIe>d=dSFf{bX z-RA0%z$RI4GxY81g0g&DyScAmqTqd$r{U@hX;HUc;q~`@4kF_*LU{tpDk_fel;svL z(5aY+FcheS=wIK++p+wOiu@SFhV0o}4#uIFFwA^M+{~*$n}>=m!_*=#*)L2P+b+N1 zMjmcx5TA-~`DV$4k|vV;qdYw6{IDe)fyTS-OLU=5_zd2Z3tw*zaLbBU@6JDXqjDE5 zDRzD0dmq}oy(p5}?KW{l9KYAkgee_r*@3p75Th{&yQBFDKh(0slTE^{J2N&{`qnN7 zelPOoh;P%mcgfXu(V>BSW% z&WqOCHqnsu^1V2y3^Zu246@f!`XnP0BP{*b<=Of&8YRUs$=lC}86#DcPr)jK^5{iw zGRB4bvGeOGy;60z<~*lxD>k?E=K1z4d1>r7Uc;DQL`)$IVBPBy6f@ghJl+omKRSuY zi%vqlB!FpYMcYogYNnnGukzqv{?8- zi_G@3JSE*}@%bKha~Neg5xycCe@VM3`m}YKwUS`5qW2@c@%Yp)p_tC=EneRg4 z;BPy#`-g{So%(_U1!LnS5BzN#+w1+>1Z;d9Gy2@ux>&BlEDH=v;=C(y*)q9;X~_Tw zS50+1sxyize8vD7z7R^Zmt(a=Q1bXPiYj+$Hv6|Bgk0FSI%8_zgoVe@Z=BEDT;@MP z?{#st2aLEWwEkvjU}p}8RsX!R*5!M*y5pYM#d3~{|Cdkj>inG8#o=fgZ%I{~6!rU+ z@&YQpI}8h7uhJB{A4@_)($OKc^ZhY(vpdCQkdaMuzY4VvHqgW}T!k=loN+O`8DD8w ztcV*`y`4pVf94?Yv*m5JuHtq1huT|=o4-4JajTExuDVLdVB+u6M?R$#W!t>y5wD0W z07;-El#z^#S-Jfm%0pv5`mZFnoxQ5dCKf7S0slk1yVT3_b3@%4m5fknZB z2(5Q%V6Ix&9phN_sfGM;S{m7b4l!VMMy^J19povayD~6U9{Ocs4l{_;oZB_S{bFy+5jn~h5& zgCYCX0@u64wb|(Rl8O`E8m+m`^9RBfL5~` zY8b!7GC0xX?~0q*?SZPQKJ-1-vPY5BufvRFx74pqHXk?B=(PtSd2%#F?D}F9+{6L9 z1D@=ERoG5Wb-14HrxkPV-S2Qk2{3#kR~;$YY14Afmrogq|V|mj&e6_SD(z? z>>iE_E8#+FqabG@e0y^I^8`0R?tp(isW;}YjFIcwXt61Q;~*-DgE*}GPNP37+pig* zp-YP|o2&S9i&G7!$pU`!a5Q_2KZ}3tzB+Cml)6(o5WBt;dwSavFVB)SJfQv97gM~0 ziq%fcmpHFzurh61)?Y!yTil5Ic2#};OcXz(+)q1tadmZ7S68PYeg-xw1>)gxu(MYi zHqQi6CBN4q-`F5aOiUEL*eSY|sisqzG&ff(d*0=g1Fc)kJbLE^UO)qc7DJGnHbPun z*%!wyFRkhZOja50R&mG@l~cxS@MVFO}1mi^b1B%~0333a!I%T&WB}u2=vt ze?_CelhXYz*qv!?a5eA(K`dFp1-;cmG##vnj*mUuu^z(=v#8wnojEAYkVyH}V_dr6 zgQH(=14M8G#Cn>YBuBvA*BV%L_O105>QhdFeiUU9KsD(Ai~<66wYB^#EJgUNgybRn za4!5Np4|oU1->2t^rZOqo4)yxO+|;^Vo-?zPg( z$r4Dk+vQY(bxvLeIT}^Qp*DZGW(|o=U43Jne-L+LFJ4%<9~4bYDHeB~k?J+_UIf zpLS*kN=%nMc2=T4?HtLE{W)q+SnFDUU!fu1st5!r#oOx?;_SRUC~C;-d>s4jsNpfg z@2N_c8sIeE-lXU(-!r1V0yB7I!ZorzhSR%cG&FWBE*NJ zxQzekHBrcCH$tmL{(odn3JN_aoC7*KI*)~h`L9J3+raKx!yv)E67VxfxStp#-B98z z;G8wRe}d!UGxOD}m#oI$Zc7X?jBl29GtWBivrN6-OZVUlRgDkn+pWD7ertY6%jRBs z(6&-)C-chzmWPuzX0v}y!G2|bs!0@f%C|_tflCru0VIG)C8ARroT>x7#%|E;}>;p6V-nHHcB7vkS;nPf%yclEkna$r4rh-F$v zrJoy}!eEeYBkp%}IHt?5W zu6?)9xV22rWA?u57l32TMg8MBMDhY#9E_%MyIvO>-Hgj^9Gc%=vA2%c1y)&TAU^Aj zY>&_iZ*DK~TGyHJ{W(5387Osp_n|B_-3oap*2VYfI#%rqE<{szW2qwT&l|sUGy?&z z@0gb(d!|;u18Z7;XY631`gSPs{nFf$@1}ih`=TsaOs`F(M;P@CcQNl09m#fFQccl~ z+uRR9S_x;3gKTav5{Do6jLAY!C>Icl`_OaStB8mdq+RB$RQgQXzt^GUNb{%7%z5Q+ zg460VxgyK&+=5m^`yB6XGMkX}8hEr+k|tC z=f7Oa8J%p656he&rg{g~!=>S_R5c3fx(U$4MHJg$f@2OnK%;^4wa&$|j$Rw0F3L;% z^}4N_6;uL80h3?MgH>(cyH7qvKRWjfJH`q9>O*DG-c@L6lIsmhzxZ%}kBX@oOW`M= z7r&kG#*6@U?fyZK;DJ~=c8PqzqTN85-r1_#+D)`c#hokl+A?F);LhUim(zgELx(Ge zFyeMUO+X~Mjh_>7*8McurFM8%_^kw9!f#W zOj3XHXc5hT5;T=k#TyuKU&2~V&GqoEUhkNg@H5?Q`&5{nGm-kieN1$GeA~@Rz`?=6 zn;sb%nPL|9e?qUP@N!w3t%fmUu!!=tGYz#klq>!?_{5K(x+Mjz)5WNswY5~qprm>c zJ3?;q{1eeCs)E_kECe|QGj6Su(7Q9N2wqlL;2O*#irI#EUogKUbLm`qyLuGnu(Ido zGl!-Y?r545GL@E4KO$O<5OB%fbvHy?GO(hDUH51wPVEKQ;Nak(Vso}|^Se}0(cKq|P#v@TEGQv`h)Rfetf`S+Wfh79x&2hdP@ggGy7UQAg! zC|moQQP5hB^_$2!+IWPbr(y5qUnW@l*o$#Wvw)^7-y^TrxV$)+_ zZf9p_4%EoKQEo>U95peqRI*T`>Xs?w`!9)jPh5cM48DHt9U)!nwD9NO$ShyZozbYf zkKE+GKUubwn#l!!KU%+@aI4?^rvOR&UBs;#28ejihHO!C0^&Xl4<0omLF{B2{g}_E zA#DVk2=so;&CR9D#2cgY82 zRiB8ZDkZ%G008G~O>!#ml$WeC9?-Ei5aE1Jm0@|$7@&yi-yPvF=+-5*NoqR6YxE_& zfR1eN+^jPqie=UVy9Y+Z=2RI|J0kinI6 z2QTtpl(gH8`M7T$r7wjN!e%TzDl+c;mHEm_>BCJIj|WD z139}d=LjNQT<`au9>E8VM6+*%WTa)zYTeIf+nON52dczvh|UVrUvC#UyJsCS<6DtW zq<2Ax97=}Oj3+UQ^w-d_r#<%_Cx=V8(w$7W5VZ9UBOvzJmu=#+^vo!|z1V@hlFL=y zERu3n^5%9XPtijoinG#nkh4XIWe2s#LH}U8>B6%8A-sW0wl99Bv3EoJ>eufXNou(} z74!CZ@6+NJ?~O_XLT(MOU_ND!*Ih`M*ySFwqm6-bcIC*=XgDd<<}4QZ*6nk{Qf#8j zhi+qv)Iel1n`Hd0^I((f+~y}&RjHkh2BHVzUXtM@exHHFasgI%od_}B+%9kM;`Z|W zb@9QCOhd5d2O6AY7vV8o!@rSB3C$ac11r#~5PS->5gLblDSLgOh3T&5$(jS*LRV9oUXi$3}h3{XKClOWfV1G0bhXV#ynJ2{4nO*d4GUKSreNlE7 zeRO9Ii_5{h>2`}KPyYV0+DSnHZ)EAC-|Lg4+c*+fT2X~P zd3y*U@spR=QJh{#HoiVL)N|!GgVS-Ewo$y46p#1{`}$eD)I&CnIT;(%hkxgTQNc!f zXuTHVY*e=seA)Adx*tw>Y^!FM!&+*uEx!f9R!KL}@2lZ~xVaJrI zBo8~N6fGj|u=jAz7#R|rMOe_opbKXy05DW^!bzbKC8Gm^(eycFHtwcMlp|-;)K;L~r#AUCN>Rbc{aZ%chg< zdwfmtbvKFWGIPbWyEwhc)!t>$RPE@~8*60zmm$j`YWR&AvAP=3$Isf^Qq_+UMt|eX zeP+@Qw-6RGw>@<=+^%48ewWgR{dC3F>dSP|z(KFb{u0j>cvP+OPe9L>DNNkyy;`bm zSlua1YPi|a)`Sx;W&=z4NwccC@R}J8f@SRE5s;$^E5Upt_lSO>gNb+dE_<>Tq6S8J zKGPH>r-dBmp6T=WRxWDEkJnXwDYK3(&NAl`MwgChxSK&JcY7HtjhZfR(B=hPf(gU{ z;FRO(CUyV-=l(xh0JR`CaiQ{0HsCL zi@NA>0&cOeww59I6uu#IS{Pk&%s2qRZ=A^M9ElE|228*>3aBmo9UZXFy_OFfm-KlG znki>~1InQP;Y1&SnVG|gmHH0KR!(OD zlWua{xT;#kM|VXI7}qOXqc)^w!oiVD*dVkEqwwl?qg9Ffli18dybtYmLsV4DCOB=ds86uM*sO;p``}3_#N(FH#3+V>B_I-$f ziAyO12H$%CfbF(B@=nHnadmBMTS~mXrYQI_ZRr&zqf*N5(mIhCl7H-O0fW=5(ZO%R zDL;UaM_J;Ep@ZFpSU~esqwjh0HypqZdW7{_8KP8<{YoDN4<%kTbw)} z4~jKjiyAYe2uiM?K<2EdSC81%%A!52G}Z%0zD`IC518X@p2yAY_JIZfuzxZLnw;d^`;tK0yI)w! zLI`Z`oG{i*NuO&~Y3ktYFQptYO}oAS-pCa94b_de$+Re*!zU<#D7nSPv))FO`XVpu2lO0T zLPKASXoMRESw~G!&`@XcF*=(3k|ChG{Uv0%?=EccMn=#|;qohF9!pOw6%VJXn4aP! zlnN(}92Aw&&h(t7Y^zzkBb>49*+@0LPHm~#;pwV1`0oO`9s^b-5qgxuGo96bVqs$~ zsN&yyIc)8O4oivVXP#8&ywT%jV8UI>=hT)qR}=Cc*Z{GxQTQ6}Gg4#o7h@U5VlFQw zm$_n%hS2)|-R@C^iNO87`UrxL_85=~byvJNO}Nvh!czoA=oz>#a4ek-0~K;GdTDe4 z5dYSv;puL(rDJ5yLyW{-mOzZ2m3rmz|X_{=3$BozAEBg8YtjU2o7)x}&!Z;E;_@b;faGQj<38LGz<93m(S_X*8y| z4dEgBCxot?G<$byMarAlts#x&s_Nezys4@a(m)p%m!G2V_mW!5FoTD4snH5+3+oJ0 zY_7e-c;eoxgc@=sPVV`KsW!wkZ-)Li*uKkp2~?I zLd|A)d%T-XX1(lq8K|t^48>NtuopToow4`-Odv@(^s;Z;L(x4l{zF4Z>KZt%k8=65 z*xif<+i}Z=9;gc~|5XV`RFTHu5NR`Bv({c?FU%bj`5B+Gr~Ym{T$sjIuHnSPE$k0 z2m~VA1fFNlkOSWz#((YtKV%+8>Pn!pp6d(13#Fr?t|ACj5p(w7Ar*PbGX>{{92*ll>siJ7&W3z&=eZyuR@S_|nZXwC_;LJlQ@i1%51qy1j;L9FETw{M_ zU#dpymNF}0_+8-k77-scZmBz43k}?$d5FWHpYo5G=3KPn&bKzUkW#FyW++%zj@{;B zh`Mr9e&->_!AFh2->*3EldA_k8Q>sdmItW^0iNq3xihTq5Y%ka{s23>62{u=U=Ly?t z3XZF>4K06!DG?1A=Y53P=a})}e_EaUdihS%)#{M<{jI4D<$u~KT}gr81zv0K=fw#A zx~6hrlYJ(5Oo4dmr95x0ydVV%u6?{&RQmwCzqH5bLko2EXfIx|I&2Nhs9}g z|LZG(n~aA91;Y$k-}S*#D;YBDEBA>p0lvQ|_LJofwwPXjeY74&rG?b{e4%iksFI~T zYD5$hK_MW25se6~+kpA{Q;)NhEY`tODJnwaQ?vUf7r$soIBFJTt#ky5)u|y}J zep!Xcu|F}IDF(X`N;M7nPsC4~>PdQ;+{9;Wde;g6}38K&br- z((Q=zb|t+U3dHIS+8%#VpM{#|#IG?xi~3w55~SM#Noi{DMLzk*_3 z^>a1ekA+KfBgJ50?(M%DilsH!p+a(;F#VT=qrPuq*o}(}D{0cc>v=ulY!A^gLqk8w z*+#APCb>uhYJpJmtPG=RS$%p^0UyD}UxAoO*?ySHqW9ovg^f0ieM(SwUzq5 zdV>Jd@jcfo3dAxh0#TE26DCuD3s2t@IqI57V8W0KfkP z>!Nu7$v}|HjRtI=)8N;gfkN`~qz@ymw@Qlo(w$UG?D*bDal%3igMBH=F+{58_>KxBAtK4lca&*(Wf*C&q=`V zUQafEUECijASg@`=4#kOwC~aoXT|Af9mRlrqoNt~6nR(|Ro-+*O7@uo%d3o+;J{F>?MJFn3D?uYNLJ6c~!iTL<+ z2RcCd-3N(+WUDQU2@7QMwDz~6kx@c+EHb7qxG;q%hb`=;ZWzPqa92d^3{gNsZ7h_(JshWg6z(56TjtZfuKJx27{U(Dvm5d+m7E-4l4$qiKjgWXs<$He_^m7< z^PWGPqx)70IB9-kW*Gvrf4KI+pBS24Bfpp9a*c4k#X6dAGXY*7xJkwiVTFYEs|G?- z4oWz3e#&>x6yQDN37xQISd>=#xI+7^if9!XZ>E|%dxh1OWoh7TIkr-XlI@sEo}GS7 zEpco=T7I|6{h$|K>&*unl(zL(&q`YGH81dos;dA;N^`N1sc;p!o@IS~v8-!$mWNH5 zBj`D#X7a71nkSm~?cuhM!mCyS|GDXC&6=ckUle&CYqZ1J=tu<0_%cq|t*qtVtwdIf zVjAC$=N{&dKF`tPVm!5f?>q*4$;2y{n(?f(F%+J5D|Ev_Y<>eN!%4cRZUgO&ijF=v zA{`NaG`oc@1Ao2J&y^*+o$F9UHImG4G~LQr*(ua*eipMk0@x)_vvjc zS4|#`uM#6mXharwdSE=BqTV4L(u`^Pda1oAAt9k9EpTX$k`a9M%wv^s|Gi;z%akQh zb3l1G%~d6z+_2Wcs52QTUbm*_GDV`i5uG@r9#|9Jkr=e|nO^>v<;p7ty-q|bA`?|R zsTLJrQA1IUxi0G?Os||)=fAto>fXpmNyc{I*qfQZaM!%-L6cw7c5-jfQQSoYigy($ zCF%|@kYjyJ>~FZ_JMOWXbfkFS+8W1Jd^BL=GQ{@q&3tU{_5EtPbM*d?dZN)e*i?7} zG|tcvRdV*0*X>S(M0H9>8CJO2TaGDfPfcC|hzt?Q`wxIza1Gpoe~*g~3sSLZfv4O$V1<~F{evVoiP{ZfdeyP$%eLugY!9T9y`Au%Df>Sf30QTUGx5Di0u1q3oeh0p5Cf&7tF%_ zqK+C;wI>kag!Nkm=~C`T>r+L!`tpa%QRN3?K{hvI5?am8%$#0U>w)R+WNrsr)w)>> z2j2nAWOrCcyZIS2P6R5IWlNyzpx+bOT`?B33PWoW*H-U_D=&>N^`a6mIEmo+hN}W? zr*R=3zM+~7MtCkI+SNUurncW$#FZolLP;Z4j_uP(Jw(nzXNr*VFTl1<`)b7M?vf;< zE${wRUl(Odw4B#OrT2DvP;C{dTeQ+V-|j4QP<|YZmlMFKrO;D&S-Zq+abp*PasySG zEa*_&YK+fOG;>1nMG;XfLPj!Wwk>)Qx#BGwJzxS+%(18MhF{*vE*nS-jE{~Q6=B?S zcXw$jryYs?7SdJ?`RCjgTirXW@4nNoQ+M1O5z0;G3QK8Nm+rwM7ywr)3~kvdS$gFC zZFgg?eL8V=Ys;&H6H&D!YrnS7Uuorkp#Lm;yA;D&DhsojLzB?7+hdq;z7Y`+PcxNU=G)87K zb$$q6O2l_Z1OWk8%A|XUeTPq#g?Js^v~wbiWi1wm{6^YSqppyYiT<{#<9}%;rE8cJ zCgPc-=Ak=i@X5NWzL5ca4a*;+n&EAvx z?8rBRRA}zW8t9Cui<)ZZ{NQ*K)ARK@44sszz$RB??xN3xajC3TPEMEg=GY)>vZI?=dXHA(8}IzO0N-9_tU5aza4GzK^#bLvNZZ`GIW)afkG_$lk53oqVV@ z;@H6R!xt0oL%F-db18j?An#|_dNDM-_l><#=^S-A8EV!a;9`RdCOHM8TgDJQkK+2h zc7BVmw)2LQLwRbV3+*2Ss|pUCUfGbNz|kaVI1~S!7Cfp~>6+C{IQ^Zh1I-m4p;#5D zX36(X3csKD*2Q@>Y&q9}Xz_)a%%1_T%ng(5v9pp};a|o|(k3=dIFlRTa`u6YvetCtIdYc>m;zDHI9LoOLB_lJEgw!a)bBKn?;(Q>yw_ro zjW@mp`LHC@SYV+#6I;@^qqk*By<5y@mO8dvS8rmzvhm3dwM;%ih63xF63+8(=Hj73 z*GHuJ&I41^ux+keqC`We^9?6|l>A8_eWxm!_->N0=0-sq>64p>+#xthU@!7|Gda)5 z9(fhfwIghJn=B!(vN-0?|Jh|b+4aoKwex7UywiNKiUvxeM2}w_{^A@f2M2uP3%tPp zOa+M&NS3Qfb?B+7sfx!xHi3k=qoV`mF}JC+(BEWxrdoRVi*=+vN0IVM9#I4W3HbGu z3Np>Sw6s)DY7qN~XJ9|5LZS9AUta7{&3(Rlbhs*2wXs2xJMw{l>JkwXd%m~njCj$n z+yE?&;CE!XO_t6|MOkZe0F%D#TChnrlVSNJW@we7GvMJvx2L6QTa2OKBbbN7FsmhFa^q-3s@U+ zD9yG4(ew-uH91j8;6VDn0Ri^HN#bk8XS`Do6M5bXIJh2lAU#qj6eG3NdCX-{>c(uU zumk5B-9%UMQ5f}UJEo2H?AfgDOtdobJSE}$axlK+0uc@QAmLKO`9WeqULwxg#Yz0h zLw{!z#d4gH*Gs!lglgl+{pz$Dvr0QG8Hxff8wbwl6MK*VkKzDt##t73-WjQ}tiol# z-1NDEy(W&)F++=B-;$$V4NN8Be}xGCdWS!U)eY{FGD-2$%)|at1Sf0oxf%&R4j6ai zE54AG&t?AJ`=WO43bbl=K>}-&BdkA=A(3awz~_ILp^v3 zBF!S_HD~8czi_`)p#mLwzT5iMbVG4vNEv3s8+U}TPlo&2PRQTcaW-eXCo z#c9Qvf$_7n1~Vp|C~9EhYnsGoO0~~SiL%gQxkw>gfVwvJLbn&axQ`ZZ@dR_72W}DD z|8f)RKX@~D{4a-wMzg|7Rk7*^rWpN!3-%^x2qG5z@rO3*8*S0=UtNg(+gdkqiJjN2 ze|Y*~ryUqH_@m9li=Os+bL4k>>sEPY552LTw3p(F8#NF-S;WRfa7HYh`HbEzzt+wP zTjLb-0poQ^8G!_tb>WXO#OW-u1c*OVlEue?a~x0J^$Bn1uL8dLqyxY%P7>vlVqo)6C<9=;G|+M-A3<24d;R4A zF451yQ=%eF z5ExiP7ZdUhOv$zKv_QFX^(r$jQwJyM&2U|$FzJWwm$+aMiU+xi(DJYoHCp=GGS=N` z`5Bh=GEr*IMO`x$<%}MoI$t*eHo-_a)p<`O=3QKHhKqSG<)CD zrS;N+n*#AY&0~EIU*4J@$&wBZ>;T)BWRe|4hEgV)0e+qWHAX|2ID3jf6&W~T`!Dct zvJ>72JWob&|tygxf)kbW| zpsPyF@#Lp|1C)ku`0^WEa zUz?Sc)sMRMeE<~{#sZ)ZQFdSbULP95`GJ410GyoQM*A<2;Oge)_VnpODj4R5uY0~R zs|%rc^rvN2bFi$&nTSr@;wGQ#tj&-#~ zS_%j=ZDX5XXeo?rQ0a07M{oDENze~8MJl@A7tgkbsE9QNsVo&QIOV&7BdDjIrgr3O z*}VnUX1W4!X~DOv@TiurA1`UZj9a8$T~5M~FDME+*ZBA?l$Cl^}uywEzAV$5!ze}2Vt)U3h67-bUC#R&L+*<^5r@P+&q zf!sY?I;S0zZ<3^3Evl_s)@O^@&9?H(bz?e@d8`a?;K*xqF58b~hhsnKc&zTIZVc;-R>fieujoPv^CTam)r7ZrA>g9mgp}W7_9VA%iX76y@$5Nj{3U>536DLgj zl%fV=7K991`v+_Me^t;(N=b19Z1$H2tUQ^8>%_vPP8IX}?yuCYHjyT#f5hzXK?(q` z6k=08^n|WzQkgh@%7a%0X9$akaOqv3*!%Grdc4oAp0BPD_o1w8k@5{Y0AnKcCwb+? zkT7EdW>Ry@1SxFbGc;(q^X%XB@b$>?A5vZ^SQnW7il%@-kpIpS?->9`Pym=~Z6Ws? zA8^#=9c)G~a9v1<;m-q-kOGpRL5>%By#bIy_-{6_Xe==?^rChMr;g0+s^|T2uj9>q zdDw3z`MP9FlcWC^SEfO1kdqTTPNHJsKD@vSY}MbeLxX60*g2jgk zP^c0$a~wrkmkZc>mhZ2rR$f9k(Z~8>^z`qg@M54yy73SAfN^0b732CIgU4+e&+Zd( zYi)fZf+*H``w-FB{U!M+t(s}>g9}L>zPWPxReYKbr6X;5*qG818igc^nrc)Dg5mpz z#d0@I7pbx_ad*;#Una^BQ~`y8JMO24^F zj|@c$o|$-L72Z)Nu8kaCztXoLdC0=U-xXykU|GibsA5?k{6CSDY6&i zMLyzUaa%N?<@j(lE9hucRb-@&uxIIL1q;?J4Z7B>%aXS=GxvMi%I@;@$}`B0*&AJJx7 zmEt)XVridpv7#}gbt5$&nt*oln6=2Sx*O-?Ku6)GYlLh|EcVTD^(+PG+l*^iOQ4y zirg$M+S@z<^2fWq=H})x9P)Y&ESbCg;FH2J7JY!T z*n%IM`?$DmwkdbZTO3d7+eL#GeRjG+DcmByw6aX*IC@LFI%(Jv`uwJ*%eR?` zHe3M1gf@Y>VV~#TsJ7|D#!8*eD5DiIJKvhA%EpkwkyfUk7_zkVj5#G!`Q7WIR_-(e zIXZx{6r|%0^j+LFZoy(g;%#Wk9-wmUQ-5`(idjOhqCeFeg#mQwQh``sXmFt9)y=c> z1GI z9@SFW2vE(-jd~C2JvBQ;zZDrHs~?GF$OqXhHg1>S6)JD!!Mt>n`i3hp->PbVHr;ma z@LJnBNbgIGdcD?4MPS>NrZ`%3lk)G69OD{S)!&V+d9F`X;tksbNr>_Lbv|o3$@bJM zL-f$c+1%Xq6+bz!T(NMXh?{%f$^TmQ?Ez1oXfr3PYL-(#-1svfaI?FT-+J8m0m!uI zn4q|QOPH>3jtjPW(%1;<-t424p)E5Q+5LWbG?-oLvQuF!vvJMy@no`Z#{PSM(~-Z! z_)e3C|AJfp?>24KARHk#&T^z7atm$|5xb8L6ZScFHpw4(t~Jv*0+7A^KEW;I#cduQ zV#%BktXM7j+IFBDk;6vr=}{x^Bb5`9PMP>QYzk9bQITy2qEjUW!l;wsk-O#mv3_r0 z7pQ;$<@aKfj0_4B;)L~4!T9{~LR8f!grC|F-s7 z09I22gw(^C=KA^$WZe7vl9G}@Hh)TAaa;&X0{><>r7<`ah@9t6kPgR%f6xn{AFM&~ zhtP8AfY4uy=6u8Rq+-Fz2;%|`mQBvUCRF?OJRGi|K9RH4qj!uDq#62)9%f*^*@d`> zbya2RF6^uf7!r9pWA~GH#Ea^rr{=~hUoTQ{L?f=&rMA+UHVH7zl;ZM^J!5_c30%ve zGEUTDEgi9$$Sh4A=S+(p97xX@p%yTn5mi(*GGA2nU`x}&VQ*$dxFs8uER`b7Tx+kQ z6J^CrnV+(FKV!`klG@DHR(~x+y~T)|ytpSk{kSOrt(7gkDEgxyc1W??WIGcs%N4J@ zb;TO1VVGlPB8c((%Aa!{d1;gY~!blLl%dm%sHVghoFZ){YsPuF0p zGliq<Q}v9} z2Ahg1G_Pfxx*lS?FII5tN^nuA#NJcF{3v)Sg&f2%ePhD{J(5(%Qn69R=JP>U8E5u* z29fnSmeCQBITD-xu4eiGmFA$sy)u|nUkNpFi%)qP`FikHd~b-^>T`IRb!S%*4u=*} zb)Y17RD|_Y;Zsnnr6w*%|6Id`+La7S zVr1`tHFJMC;bD``NEf~B!G_20|D=)lC*1AH&Ny%+uEql?SuL>%2miRLJrE9 zXp6hIw6=piF?G0KEuTAc8rBt0Y0r>t!y_ecZa#FFa?D$7`fFhhPz}Ti+^)94EXC zFwpCc^yJKiCK$q0v7Eu{hx$R%`u0%lR`M1ZY6!l%h~K!{ zmnvqxfcjA$dZvpn68-|0Rs8(OGUsbx1SaKAp1Uty=n)R??Ln^fCHUlUt}O5aq1-&Cvq= z80)REB96(F_rs$E=R3ZKH3lE{jruxgME@LeZBbHC2s-Xem6?tn*=7;cJMAyT^L*~d zG#$0f;62~8?0Zh)zMP|jlIbw%IXAr69sQtZSEf#6Tt>pE%(WnnLl%>cThg$S&wWwb zZ&#n->xa?VW5R!V-K)Fx7ARTaaI%|@$wCj%zL`60X-M{}<#V{MP^wFSk+xjbJ@^$lsT9-Tgn&C{&=L`yMWrsFAYevl(J zB|(yW6E1YbWw1(_#fwL!HMn+rq2<_8-1xNR!l2TkZZA)x;`Lv=L|$Ll*QdvQ)DtIv zN&dT~Z-PF&nl<{j3vi01fMqm+=~`!=7W++qZtWR&N2B?u9oOB|(CT!e6fp-F1!{T- zj1o>w-6SgogIDJr((Ke*j%<-(Xe0j(=rRat<<6kcS681BQy;UOw&jvW!(GE@Xb|_M ztI{27T+sdH)eU_&$D4g{Y&uNV(%dZH-0TzJ!nci1o|+K%gd#1kG52cjT(VFUhm^yg zNrL&^^5*Dou6mngY$r_7Bfj1Edp-ht^UmpL6WEp5F^JV%)zLX# zXggMa45J$+@a2HYOjfQ&JfOkGfotr-wQyqX^hJN^R7gYW7ln55y$c=doI9}z{Lw`J z`s~oe9b8=8+oR@|OMT|(f$sS@t#L(9!s={QW|K0Y#%dm!N~Zg2Xs|--9?wVi^n&K_ z(E=e6?)Hccza~QP7|}G;>U9vPO7butNM~T zj`~+^>xI!(g)u*RMDt-t>szvljlt2u!ZP0HRQ%iJp!o;kmcKfCS)J$elrB=o)(mS= zUsjp7@0ec(;3g}OLir&3b7?Kr7CX8xZ(?$dyohnj6iD@UJVhL}N6iI+RTBuk-RJvE z^S-XgMo7U&{9x~Z=B1?^pH?6CezK6`T&&sDVRf3h3bMutA5Lr)d}=gbYx73CZ!V}0 z&pan8xxl>;Jn7LCC-~BClYbX$>Q$sym0JGf#YxSs|M8YCu#ArTO87J%8f-n|ajwl@ zytL%oZhkm$oJ-h3wtjiza>fKp8ODyQsmZ!+J|mM?(po*(Zwn?PD_CO@xENE_zFxZ; ze1PYe@}_mk@`cXvt8%(TPdikP?IUNkAbr`e1#jA2&y_L~>0LXi6p!__B1f1kXd{YS znuYztat>Q0a?MDIMc0`6u_bwnnnq=9)>4)*F*d(V2ZIP_>!T*=YYiPclY=bK;zrqK zi=ZRp3M4A{tR?)F`Go7Awb)l!R~brT*Dpt_+^&2T6WQGQ)APKdNjY|_Jg%$rZ9AN7 zY=}u4{9;j`bVUwyh0Y8Qi()qZdkYUHWQ1Eywps;qy;Oc2wnh2fi`H>&XY-~aIu4ZSG&2uO9 z))q6V1h3mpQ^$jFHS^~U-eP=%j8^C$OZ00(h0y%Z=+1@$X_ zLqMwmpw(g-7ZYw_*%<-XvP)MHCK*jGt?JV6u0OkQ*kQt#E7`QPPS1)t+vatyu7k34 z1Wk+%AcmC68fzIgWC!!XKo;ZP; zOoasb8OoZQy@j2H1#{gR>FJa+%&x}$f#klOfz4rZ;0Qg?hY-DVP^OGLWU#F%Ep-=W zmE7$;q}cPI*xlUNxa4;eE@+hVNmc7V6kE$=NjW=n>Nh2gL?>8~{oVQH@A7*_RmzRV zfYsEgT9sji0)3C9K@nmR@r<7gyIl+z6{cmc91Vf;&Qg$7;7<@&9yPvS90R zt)zs%Mx5ae9xf}q;cBjx0AsL$i(W8)V@K{mwCK%?HdFNB_ckk4}FYD9!bx!dfu;zxt)n~3re0GfvXI70gj?W?1(1ipXguPnq`H zz>RJZVe)Y)+t`!N-}D1YvIlC`)gzCzQD9-8&DnmKr-z;Iucms=)EHM-=ka5W$q$R5 z6Lem<3=bvb?CNubr!>5ORkGOeH~X=?c9GmFs#<;0GfQ!zUB)J#mN3fEFC+mP>uR2r z$9b+hKV8=CbDx39@a=3QPa}?t@|r#JsZh~NE94(8ZqX56IbxV8{1`F3giT!^Q)+R> zd-2qJj82cJZHr!Rl^kWNGN~j#mLRTOaD9^^z8{!1{^&PT=;HfH?9w`iYiUG3fv@Xo zZ8TJ=S{wL;OeGCtqTbv+%1FDt^JIc2mFfJ=|t< z$BlLJt*X9}+MT|uOf?_^6HG;~`>UFz^T3)xkW>i9#w_8$w`I54wf*AH3K~-tb)(@t z9Xi~^OZ%9V<_0AE{$2u5mC?;O+AQ9(o~B)eoX(AMUv`Pc)<3D`1TGxpydv=vUyLSq zZbsrzb&HdXaiqqb?fzz0s}|PNJ0E}h;elruO&xyYAK1+D^I2Jdr%=)F0v*J(Tr{?n z(O6$sgN0FvWR4c?AbPf7mqw&D6I_^h5O~(Xn4wM}N6CCH%!nDM4?Mji!IjqL zArDt+!MBrCSM{$yiNR+LxAm}sLVSv;iTu81<+o;zA%xT)^vDNai)bvN?sP)2tR^W*b|fUMP>c7HsCqq(hAtvO)61e%2vglp3CWAD={RZhtY_6 z2y4!oRe}g8JvFXtRJCNKx8fLPb|Rxc6@%C*bv#|s5&hw1rwJXe?5dQ)_|rw}R{v>| z=N-7&e=UzXy0$x|L5c6acNN-DE%Y{b#@;x0@=K8n;tub9em|TW~{!?)?`uy?M=4BuBFeD z=|J#QdK@~mE#%M=5AEDV61b*ytUnkoctd^sUo%s~!=H}w?*GUmV+zqO9dDMpAIF(6 zAur{%R3PPrDpz2MK4r60z!huHgo);AtuJ4+-Cv&OwqN|ooG;j8=?0}>$Bp3{_S>8H zO?brkI!Z*T#+Fp)2FInej7;c-VM`V7yK5(_ok8vMC55%DLPlfh97Xrt>yiSknnyW_ zb?#J6;6bC$RxzwRlWv!1|8QUAW1od6-H1eP7$Jl|y?%VJ%69b!p9|4MW|8BE<7*6O zU-GY|=8vQN#y{W~ZpM{RB8In?n2k{rE!h2`<7GtSq3`YIAwJ69J^9?IQ-aeks|&=^ z*m?Lr8TGhn-U|Su^o+lcM+`!9R9o!vdhESCgtwW>h=4Ok=G8}rC8IPEg^Q!N3F(0} z?_P9TytXQSGi#<^&tKd3STj&uR{q>@`)FhH@L)V4D zqV3(yY^=I7V{rX)MOp7J!M!U?E^-Jf{otkDP{BdoUeJB5O%z;pm`R1AY z>u99B=PIv;Xb7b*gHw@_B|eN#BA%4AzFCJ86MiF?zSrs_AH*vAAxcK-XY;8VG@@~cskiG9v0{Mm?|`%Ixz&zwQO1WEIAolV z<2)9`V}|&l=9t^%`u#AInhPw&C;Z4S6}9rv>|v`cVWaSi+JaFk{jXP%F&|z(d-oc# zT(DS7Oqm);CmNKUZ!2dppQI)HzVLqgV?sP5khrzMgO|?xWXRFbWZ=dw=8=@Fw0p@s zmEU~}63+!C z{6wu{dA~uP^}wh@Ax&7jvtN`kn9}q)XwUQu2)giKD3S3I29~PRYWP@Xp`ll5iig+t zB(wf7V54HFoK+#sB0URdB-2pZET7s`8vb!^=@ns@Ktycrrcov-g;lLZ+CIE)w~k4W zeQueNmc}Fm=CBoR3AKfcoRQnFJ>Ozs8tdsb|FTpBChm8WGp!LR^@PGucw1qbA2$gv z;mn_b3Sq32K`Oc#$RQb1G3F~?aN`wIs~S1}x1fLBAEYQ}e>uFy`&90mfVR2Z-WriG zPLI{GkTNTvC)<KJVeq=!9N;A1D%(eqCne&ZFCX8T0fav{^`Ut!Nk5 zoEZL?8Ha9Ie2z9eEDSy*B9L$B$V3>GVS8AqQdB0fgAAt1r^>gd55M=hD+9A+*jPDg zORH`8b(XyNF!b#uL9GdxqcDPdO3jZOcv=@cNcUuTc5+iy{A|~`bnmm0o|gQgLKwuP zeT|~tE^mT9%dt`c%~{;DlkG`?nGu^0>>hli`ViRU-RX|{JoTbmwRU5U`e3xlduzhW z)L|Bxf1bafABe3r4{WOvQ_fUEH(D@Zd#`!g9{6WdMsQr-eUR$Q{PX)-J4J>){}N?M%h)+N9~+=1Km#qs+?Qphx${~AN9C#kIGNN`Nyryr}| zBMdyO>6wnXJ{gr%J(nmtR%M^B6$$_ylac0f6dMc#n_BJf0Hw65kCs$l!lkO4j`>wenpA$q2_G_wM$HxYexjjSGHAcNk!hvy7Zq8p0@Sl{BM zC2akk%BZanNo1-boS@Bh0%nbl3yU~shabcX+HB+3g0%B7LT{Len1z%B+>;4FWUjKH zxjAux8MLuX|00yowo#p$4qB#`uQ>pmGT-?|TeyGJ7uP)0)Uz9m6^MOzc-}xcWuC#l z2#0@GW+w2(>&Vr%r%dSsr=9X}_;qlN-H;qV>b_iHJQsl7Z;p3-8Yxl}|4S+T)HVB< z)8K~fqKT}FBYpyedzrwe?G6H=>eJnMi^UIeZFQ=wkFl?TuXJuy6R&CXQ)bj$!1W~e z4TvEY>pcli6EF{sYj)7PD1a;6OD0(@IJLGx9gj(5Z+;up2jho#x z>Ef3%lBwl@*wgz@OYT90_crqROdCG60MV2C^UT#Nm-;ZPnbU~YA6jZ^yMO-ZjyA?Q zXl6po%MHlhyC_=cLxOmGSijS|fUqZ9nX={M@W(_hf%!@?xm1aggTjTxQ;mtw0u~)cq8QM;A zJ&RBLi^`a4{tTLiT25C#bDg=GaHk6jktI@ElU}f0?H%4vYi%M)wVW)P{H0)BnHilZ zk$Q%?DEP|ai^oE`O%fOED}@FFW3%+SeY?K?DoyscvbH_-L3P{ngJmlqYgk@wt@VzI zLZ4c{2eEklRwRvvt1EMp)f0-koXz7h4y%*D%R4@{K#B|?wI4ObuJl;F@x1CGAJi#O zXrG(nW+dW|;+OLXqbqBn^{_KpOc@Q;UdzoLKUm00RVlRXAmBCkI8Jx*lhfVRJ?^}1 zeoD2|@P0@u7K&9#g8LyMHE+)!hm4eO1k%aR)>rSm!HgjU{gAdewM(aXVd|jQj=t^m zv|L*DK*Cz>H`h$f?lRd-@BVy!@zOY-lAe>_G1t8o8+*@!EYeL5E9dz$ii=oZF6~;( z+u>{GPoihnp+ErAeJy!w1I_eGJQ;ZyXSa4lHtVU!u%5d)`;p%gx1)VwA3eS`+9B^y zL!&sDy^aT(Yko^YY3n|d>6A84l$GZtNgmzPAm zx9qd?&EUT5XRTYC!Z_smT|#244GQ5vB=R^c4sYC=Y<@1bR*0rQ;&uCRF{L23vjQTJTp>;7feU< z-7SYr$Wm&2+sJYPQ?K5Fqk8I|-DO(p7_j8)ME|Zogb^0i;H$m?_+sV8u{fKJR>j=s ziTKtG)L?mr;@RPa;P7RWl`?Wuj~=2H{u_|&vmSU=WL zq;kc?3en3IImyE(XxbERWk52csIKzm9z`d4N6GFTJ$-t8T&V-I*qNJ6zNRYqf}I-M zB&!2t>2|Ss>Y&56hnm!zei zobf~0WTfHl~xcj4Mpr|+^(Z>R#g+8^TS`yJ;Ndlt7V*<~X<{h`i`&8|gSHsgaDU)yC&Ta*3uF+z<7a^bLFKH|gO|jQ zvtHPWN2vf0jLkPJ%sGE)*S!!^PQv;jU1?NtA%>3FQ*Q3G&Y`YdT-+EDo24~G&i3<% z+oZW&M#TB9dYJ?`HCA$``-|-bnpHm#-$V-GMmB7AIv)`^1v+yRrUY9V6LW}+LCY9w zd>V$&7}QWGD9;>Z3hnR1UpwFUyF+UpG9S4{^Z>02(<^L$lW(V*a$Inx8OH6F$@96l zkzUsZyMQK!Z%Q=cyi0Xq^pZ9Xg|@VW!;BHu=NB)ufxk+;4FwKbx;tiHLIqL-r+VrA z?I6`;3(}K=)hZH5Fvtc_lV^nl!TvDkgzk4^lrp?FBlsn5&rRE*T4 z%g%+wPm&P|k0|sb7+hN}sd2Av|%V7NI8rP?muk zd%=HG_a9r}ZruwRtek2LEA*&+0DLHn=S+j*@Q`~DhI>#$&9`7%XA~vOVfqgrSj>%^ z{Xa;72SE^mHy{`CE`dkD+n6J6K6k4ZFV=0{@deh>NrxgCrDGIy*~F3mj$q6sacAVT z;PnX+V~M^^yaKmCukbl{5%30odzn(*PsSr&uJ$IUQ!83bRf^v|2%TD|$cd%yc%Jq! zY9WuS%CTL4N4J5!?a2z2#P9C?k^QQTviy)YqP<~g0vqoyt;!4ybMc(m7WMY?8A*!h0y;%}K8hAK ztoGGai1Iyk^KN#r+=rqeh#Wn9=QI)|Sc`AS8F9aXjg<8*R|5~Ux~FCr-~F`d{NW-n z0&9S9*l*gkgy0d!{5{CIHzOmsLrlBg=;h7yP+{Rxr}{}zFxXUV$H&Sv8{$N|xC zvsKdfoY7{2xjxIkNi zM${d;Vg!s_$^5w_R&v@Bas^iR)7>;QE3~x_7xt!pV3K%v9F2v_E#!zk!>r1I*#~rDK#X6ZhffbS2wrDHnSj-L=)+ zWB36EGpuDa8HQMh&;Hv$P((or?!`Xchb67fmdffN4 zJg@d-lS{YLbOR$|H&9OS*PmapT1|esC$;BsR6_#(@W0z_EC4z zI9gx@g6g(P!A3!k$VoR5hT3Z!<_i5JMsN#eW2NWv?)9-3fPnElO+$msIILcBBa6*> zJA>V7nB`uVV_u5k&;qp>48tNEfbh#RDi4^?0C=eoYgL-i0g z^tNitoFsWF2)r$1+8{_&>&1S|eb_-Skuw8KsQC~>?}ns&HYX6UMz`P*3H*x@J~abBaf3uihsExgMcZl}IJlM#mo)3?n=6>W zk{SZPTgT}#B+WSS+BoI8Hd?#Mlm0188b@ulI{B{>O=~=3epVrxL z^wbv>+3qQH>SP8-D!LMg02lmi_cgpPOtjos%^$D_b8Sqa&r&@u;?q9+Ltd39U46T+ zra%wG9WLh#3{s`hk`n8B$YAWEFO?)KdU^r@r>5$}Ax_7OTx+qx#Xq*6vc%4_WG;AB zYpRJ^xTtTpf?X&n2<1N&q=HQ)h85pdMZ*)Ot1ma z8Il0000@SSK?k35%Gh~l0J98WL*RR#DC=_O!ywfH^tw9%u}WlOL9>!J`1&70J3f>} zu9n-JRghdOndMrkY;=BO3ywMEU!zP{JB@7twEqaSKyymP6|Lt>5pT z!J-)QpFCdZPk(LxqV*@4V{BD8N`9Hai*!<&j41HPZviLLa)&GI0hs1gL{^J;$C>(V zqm`B*I>Mst9tN$}Ta&)lkE4kvSi#aY^^+QVTsHzF9UFM}_%Q_yVRzH2aOL;XX`TTc z%H#M!R=}5?<1u}htj@ilCJuB6PCeCot{TXQ$xcgG zNY1E)2iT>6RswjtVr>WRILpNpNdzA;>T%tcP_}toZAT0&6me>@(I2u%)D7x13=-e} zZApSiErGfV`bV|Zn6-ju4otNiI1D~=rPjyQm`--{Q5Gs>b)ZSjB6;4ACG=0L-XNd~ zB7H;K*<69%des3{@Q9nEzXNOJnOr1C?i{e=HV_zn&|yF(=NG-0nsI*z znj+;6`2&Cn1WX}ZZP7Je@;MZUO2GfonBS{;Z;lq72x5Y_N7#GwskH7Z-)$|inaN&S zkg|WE$XCOdbK}k!0`?VHp8^)?(2Y$RmiWuPVu@6y%ehu7_h|-Vn<#`v^|%26KYY=? zhdw#Xt!|3>h_7(krA`oKHIVLEGD9S>@PLlsoLX1v;ojcd>iThUpy@@c zj5_a*z`LmmaqhUyGw>I*ijGJ8cn~3gZp&X1zOzO^lGTJZ?c%nPy1(-{yi-zLQ%2iMN>r}p*lR2zK8~giXk$__?xT7E{c?@|YV#UtfF2kmO zYr9a}E>y<%oJUs8Y*pv%F7_8-EzO-Y`KI}DFD#RdZcjVUT$SbJP8Zz{vFyL52Qb8k z#a!+TZo>Y#N(W6S@$RQsnq3!*J`in5tL0>Gxh)Re=+O_Jib1o&fQr=_C4Jl4ii)5u zUWHh{`5Um=jNE(%kWT#z%OP$t_|_%H08YcA`|HqrRS0eGm>+0(SlG{ zDI^chWvI!x{v4b}3@%zu**j`!XIZk%;X-99!vwf@oG@C)z7m>K0x2_`O5_9x+3>Or zHncWb-6n>H#N(U!nS4NmU=Ywu?FhWonrvtCJnGeAy*;+U#*fCTeNq+eK^#RCYKfSoZiAkMIN=Uc>a0vbACMumb`jM}=V0=v} z87|%QquJPlCok)j>hE8(ja~~Yv1$5bkP`MywM6&m1V!Li)FhpCd>z)%7Pegp(QdC^ zbi0c{Fy+1lzSFq^(V-B-(;uka-r3cFPpNEq$$?txetltI7bdU|7-66X>udfTk!a$r z15)$a+GF-gYr3eyfQ+|acWa(vNj~vI`kHXXIObm*@5dO`>ntv@F*$Q$Lv(k7eY^9l zqbp?_^ zXig~+_fVqTQ0$|$?H|a7uLV2acgXYl83`4G97|@0sblHop2OLWjQrn_i-l2cxqeY| zT`_5(5dvIU3cw6A#oOfSR*S4Df4t`i?seRoM6sjSidkv6(A^iNc_R@KaX-d?lO}2| zrLiEAM)_#j&b#6ij~u}^P+N~cl%;_j3jps?9Q`n1(;c_;fKT_`A%QgP%$hSHO1Y}h zN-S1y^o4Jcy1wHaG?>Q+~&M+j{22XRxnC|MM@X_d$Hk zho^o)7`*n^1o9o@bmwYJY_K#ALV$EO+(oXPSxE0NS~i+Ldp1$<*29?IjI>VrHTn;^ z;U{z@uuq0uDY>b`W=e}XCNp-(i$AmIDmhZI3D$G;>jt>SM&Dyh(_c}!xur0Z_>>X#`?RhKoSm>v_&eTr=Ly=p zyR06EoxHbsyX<510QQUbS84X9R2M(D<`(TYq!(R>3W>xp{saPYvZMcRdNq7XOS zvz5Zp?x)mmGF#bNqxxg;5GRvES8kwk(&yVhjq%(g9}TBAbd|bOagfX{BGIut?8ELa zx52a_ifXH%=t~iq^zeoCPmf-{{Lb>DDnm||zC>P{=eKP-P7wdJP?5j7+XYHAHP%bBSp1W79=%WeL-$oum_q#>W16c_@p}MfLz{1j zp0uxkt!TOy{51Q*_a&jb30GJSFRqtYfS=hJ8=i|cLB|i;pnFpe+ZAooryp4Q@6!+L zKcqVkZtNj$Uj3pgSBZz>XOKk0_3%S~9)JuGP};s}g9NvGer8;aiScC;CdVzszXbg! zh{(*E`uGbTPDP0yRkeI)Xea1#76m`+z8hGdr9Hiyw)~6L4Zn1Gf?R@3ekl6+f0Hw% zjr{d&O>JA8Wj9xsx4>#%z?jKYP3aNoY>BwQHt%I%_2usb5A^sCFwd)z7A5YUUk7Ix zbzlYwEFSR}LBeYRLVw2mfvMzVP?8p-;_{U5Yo6JFj44h$r~(M3F`d>11k8c zY%g_nY@5a9ihaIgY^UKaszt+w8=8F?3ltuGxRrX+OFZrqOK9@ve!Cp$V&peav!LQD zw5uqsWwvcZeE3LzdU?;1S@q-uK|YvXzo>U|HnGC&0DYKp@Yf_B{L{N_V{LPZDJyXp zf%+L!OsUx4Zp-a-;7a9503+*uV8E(n(2rkkWhXiEgzaT!D@+Lml4W1pLZ5*M3A&;2 z7EA{dsOA>_qYO}OfCnE2KvSxKZKf|)$4GCSoVLX8Y_Etg>XJir?poY*E6G48KFtmq z27vc=NTPP@39lb_?yoWK<@_Kue?O=+*={eP%(Tefq{KRJw@BQ9*|9^}`T(HaD!$^f z*?bS78C9AOqaYm8FhBZE#srqx@Ep6)0)$?$ zZuYG?rB9NNHzH{tqu_9k)zPN<gRGlL^Oz^R$g@&@^Q{TSeQ+Ie2-46(yHly2tiUOOUCw>`fTDz$NoMg8nkGNX zgicx%5S&Epr5wis@uKdVC#E}B2qgG_t0R4QO?{nFS8A!0t&%SN2}W~q;In)B5oaV% zdjkJBThA2Pndog$0;3LAZHV(MkSx=$>;N|~pg#+4@gq)wTlIweUU*Q%5qP|yJb~lN zw))3~$DrCgHmL^N5+|VKRbUO5b5}!&3v0ws`eypImgf+B#@RsBSj?+#1NH>z3}deY z2vM+5zy~M(nPJr*7zqfd3Ob&Bn)%>L(0ZCW!yw;^B!r8xu%%eurFP37l!fs!u>n zA6Ph*K=pQ(Kz%PWx+l*-VSx9Z@@D(X9{xOY20iPY@UN$vZu#X=ZT6lD9tJ!DgYpd* zEqMrS$_m{3e$+8s3(ll0`;O!jkqNzPU&w3d6V3k`J`5vNYun)w<2{vflz!Zu2~0H~ zB`2SrPL%r8PcoKW+dLoHz)#!J@-**nr|8PyKmTXRPjql|(i(?6Hd9>RJVSKU%t=r0 z$DydczM~3BHiPlx0tud9iCd>s&@0(NaX%R&!ANa-S|Yg>%WBmPolf0V@zz%^KknU8 z1nfGgwi>!7jv^HZ$HWcf+o78I&?wiz8e_gI{W~lXsyW!3zHK?fqmKZs5kwz?j8tlf zdKPm3A!C)@dZTaPoLXTnaJ&#EBuL1zpnN8@M%UyR_;}Ri&X3&|fGf(EBn$klqVL<5 zeQS&pnPdToPl2GE)L{10IxU0vAVTW*g}Brnn>t`15GeQWR_gLqzW5Ii8Q_*#2W+34 zTc=u5J3`FG1gwr?X)#+eM!Cg$Y0Um&v3z+a^@W}>IyIMAnR)wA5v;=p`iZllc^|MZ z5)OujhWK`?D)fEKNgE#IEcS_B=0+P$E>!5*UmeWdgf#JrGxkW`Ul5R%RS^yx`#AfB z2^gj?+?n2SxD;A>nG%`2fJ(01UKKTE+zSHA&x3s6z)jo$KUL7ToaL#+UBre z_^uZ-?zqi6_7?~hOhW-z!<~|pl*Dc8fH6kYJzCFWTi&+1X@@IQUj#^^HbHEWPAWhr zH~}@WW~RF$AcC?OWR?hC;mV9~i)mM8)a;4)$wz`D6@$J!xQe0!@38Bl5WyB(Ctd0XBiXj!v;Mr;%Qnh1oD`#%+8S45`FH7m4{PnWX_9@I>P z9Bl3|dUN!qh?ov_adPUX57VRB;&%&MOjmyz%0U4wB{lAGfN;#fu7(0D1T&L&9t3xY zm~z(AKAOmzgd{)qh1=mu&-mdA;090tkMLUS2z=##j6$`va&vbkE2uYMhPnmsik5!Q ztZC>!35x`*|2!iHf=FP>{;VyuKas{q4`_N%yMuQCHt3?AMT));0&M=>5%_RNc2Kqe z0q0{E!?zDWnF-q&(5;_oO;`Y&)FNZ_C%-0W13&>#D|a<79QTEm#$&B}oJT?7onW?6 zHG^dMV%pzlu9fG*;k}l{6)1)pZkr={Aa7n~%S1a_y7^a0jAuic>IO&}HN_SLOnM6q zM$SssN^X7#`NstmqrfP_x`aL#aB2-a{%rUb3-mz})Rmcls+0VJlW%Mgn(5iiq8gl6 z8X;BNEnTiArB)a@r;8{Btk=iY_X9llPnmgd*8=)N%Isq zTQ~2+P5IT%r_8r4ax^cq@XbW)mKZ<)Ko`nxyHChd2o$&S`qWK!&|6zzN9cDko(GfR zhJ!Rb+my^ENC!`OI^)FPa~9-TrewB(`Lga@J9{0Pt?hK#-57ov-CKRLtlRyIMzgZ} znnkxGr(Ol*v8n<+o%JBL(&;jSOyMF`lr55=!l%~wa70ba=2Vw&`8g99xxGuYrP z*aMB~AM-0Gc)IB+_8OcavHPgD!f>bem9_0X0Xv|k#vW0DB;0g0-w}C}$5q`S=gTZw z0I&f!FvlFZSEOcV%lop$k%ek(rbjAf-GR0!flx_*7u zs~c%YrQ6%<>G494hzFvac7tsLLpNTyIhYb1`p?z0+W~p{${>#nf zax0Np?c_w|_`akt?6_UC=3tCbVBGRLIek{3&U#ULvFN5#KYGbP{~&9Vml|}|#EV-t zCg12Cf1Nw1@d7G>3VHACr8c-<*QZ%ttEn+}o1B^P= z&G{Qp2*@4h3Nl*Z`IE{kwx6IH54V7lq!pWG(+=;Q<}>YGp{3^dn}&*(KXb6q%!KCQ z-ognZIBl#wXYzcYoqNiAG5^QsKAw9fSYXP@d%#)&A2n}nQr(BvtBBikypx&F(*N5i z$f~C+&E7U9;q}q7HW7F=UG#Pf6i~aQYm+YZCJTA;9nr|zjV5M&IYD_2n5ebK`OgFe ze}lAoy~FkdD6D8vkH;kTa^iS2X25X-!`nLtofxC)u@=`+RWwW7RTJKjkm(+X+EkApzsDbc^c>R zC{An31fn{1pJpp|;<=sXhI`fB6XN0;E8~DPm!(5q-24(!(nl-g8&7+&YAGs^t^?}T zz(`WIG>M&E&_Vy^Rvq%;QT0IIef4jn+Wr%n-YY5-OYR%d+7zl;nL#OuW)NS zi|6d+>{(9D8^;KeiF+y01EP#`##h)NcYkwS@wu^?^!nIZ1`6*2eCJ56RydKLHL8t- z5F|7mm4RrHXdKEbZutEvgqu}{E1DarJwgyqr^W%#kZcLH3#S;7>AKhd5BhBR!%NL> z#wg9zymSPL7Yb|VPrP%r8mx_sFr_g>e_8JwHT@DwQYdYKDJF)V(A9$42qQ^Iq_OEo zkkx~RK@B#lrsTz9q2I2G-Bv}m)7RT?#yI{Y&BmkCs&hG(5xXF| zp}&6f=RvL$)zL+|H<7;3##>Jy2AcL z0RG1wfL93o2LON<3^WA%zkU%x3MV&X;ZDTMc7qMZkV{7dr&>?GH#GFl;5^y8FG)Zj z#C@RHNCNREs4YfBmg(u~k;{(gz`P{90YaGm$=UuQIDn+89roK&LYPBOcI`P}Wp==O z0tA)o-EXPXx_WI7O31Gv0Ttsf0MG*xeh;)A< z<+3A8H$>M4Tpne|EZy(-G^h$H_}98o0EO(^83kXnfOMq(n6nhu0`{q-?pK ztV7Hewt34-3B=t{?l|4mRREai^nw^3m(mb4zJGhttF@u@Jb^Q;o8g-BJSRpbiN7lP=3BP2qrC+E?3zA3BSXXO z?x412zWJ&ZC+wXOr6Dmy2Ee5chPtXCQLgSCh<_DP#fM*uBQACTA-?+I%^lPv^L)Jk zP51649Ol-nyJvF_&Pr>d9W`tske5_n*%&NRDnB0>qSSg;s^vCx*sju~m^l!M`KmdU z*#60g*}}&-w6wH#!Lf$I-sysC(la7vKzl@#ZZJ3F=tYz-_%{I)*%e1(a5IsRIgHLb zyqTpe7363To<1dD!Z3bt#`%z zztP#D4!&fxczHDaf*51D;9`2%BI~|=%%AVmT4D`XYT6RS%C87I${@-`=5ccWR2?cw zc^`A4C|`GQILcQM)w>RjZv9v>(7YkwslXH=!Mq$*Wcx%EHR7cvi`EpoV>Q7u+gLMN zat~zn&Q+!iZ+A>SM~1UoG|2bVuvt3rG_{e+Sbd3{y>-0&UTIX*J3r$p`=b2gBX4VV zcGyzRv?erd!+>O5Do-%PLOg-|9i#HCT#UZxlfTlhxmH1~iT1p_jtwVlNt;CcpAIFF zv?9V-W*p>#i=vig`|zFE>-XsI&xgbo8c57jLXN%JPEi`>0)?g#w|9C6{Iecw?n)fK`?X_ z;j{dhprc>@6OJf6$fXK#s%9u%71J*YR-j_gy`qw&p#18__}xj;fiOQ@n1CyceVdM~PkC>m+ugndW96$9t*Q7M)oo(FQ zn1^?qNfdrJWX-!N8jh*EJ;hVTuI8m@!@VmSlR(ozYY_e1sngr+qAIE~fLl|f!|s+& zpdC&9e&J)d55?w6NRg5I`=T)~_Wda`iyBJD=X!vkq{fXSvV31PhxkYjc^@FJLFA_{ z(dPr}Z2O{y4?MxLp4N3TH_ta>RZC2A)z;l^{*t?|VA3a@ne1c6penk^ku8CVtdlB9 z7g5BDYDpQmGUYx+Cpv9??76Mf%enVnUOcA0>;WOom-SW&uj)p|(!;S0*NkKfn{z6- zfJ>}jK~fWT(-+OT_wqTaqjXae&_DH(b5aKAzAwZ{X6#_w@gQj$$0mt=Btkdw5m>)t zFHMY{p(Iwu45Q0`T$#}6n64glApDK;PN?Rm{G>hco>|uS-x8^4@6shEGr2GI3Indj zw;&mj2{g2o-0A%FN|M>1rYsZ@rX8chZ6WlQs6J<>XAV_>?7_1&P4J{G>2vHDlc-PA zWf}Sw!zA!wf~rB&fVS#9!}%NdhIkC#)mA?GgTp@a&^grG!36sq8ag|_F0YtnaUW89 z@?u*h<01>L#hc>x=0Ts^q`Er1rb8Z&^)zvzmwHDI>^vw-Yf+Z1=_nC&c99`KTA;<) zeDQUkQr-&GAhqrrlMkvJiEMNiaH0&nq*KYUS+a$vum7nydP&k3&+YL{@0M%@sK#)$TGDwGBC%SuNVIz6m&it{YdwRt2oU3cS9&G0b3<)j!Kh!H#8{qHt+WFkjke+ z+bB|Yi}Zd4#%rY`rKhu^ABJ&>xQqJO&O2{endodz$%*m+W__wiI-#cR;Gd~LE z%O3qW|L|4!%d25S-(FOFF+Jk;eh5zrK_}*?p$ffpiZ*A z$;2WsYkt(4-1!Ar@A@B#OigrtCrR5OIQWKVHY6aKOO4b2lKe-Q{ zayTdbQd>+_irQv{cf_1tBr7DfYWC$V72MZT9o{R}sat1tWaEWdj2PI!jTxCJo%O{o z-%`~Vb2_QGd>|u-| zla`cD>5t8oik>#E2hFmkZlvDlI?uduYRWfyEPCi_$5iq}1^0c;W#_s^qJNAKfn8hR??nyj(spP1Flmk@C6Wid^YIG4iIGBzEVt?c zw5Nj5_Aw=_&VxgbUdx$qtI?TS7Qf}kPl&wFNio0rRm1RTZgjEtcG7YD4Nc8*?P!b{ zo1rUS)&aL5Ns_0@i=Z2aNtv~d`1G)KmDb(E)~vRhqi1nooe$AvK&?S2ncUpKYd9Ax zoRLV3xlr_C;A@(>r=^1hU7Jgj{iVti&+@3HBJM?!_j4SW6P=DJCj?qW8SPce3w=Eh z0!v1rnp`^^zlP$YJ5MffKECyyCnEnqcP?t7&0=tJz>|j*wM29gl89rhA%+~^Pg{T9 zd!Hcv+h}!-aGKmPjKeJ2;BlKRZXp>up%3%lpIETwM@GPiLgDtIB!N(Yq;=1O@$h-U z&4ms=?{-!TXMtDAHw>DN+Y0Wn(xu0cHf++ktz<6_cRE zUKPnU+&rMBNjjr`U0)#eAsfcIAb#_1Dq_ie)hnc;KC-&;FM%y8e8mP9BMya8NDe zmE)7Ms$Ta6RA83qxSRZEj8&J!RvoL_{Zk2R&&$0upo+qfjv;e#o_hJbNmruZ{_lKq z0}5=>1xF)>FN#$m%_uMQjx`&=wHX`{sdFd6zboAt|&rpBXCLocyCcIn921=c9|9N$H`H(yf2*FKkxQ|4%n^3+7xuk!! zu3#qo(R|{|i`!x71|POZ9=V=mE>?YBh{M4STdFnAsK+ISO zr4S(KYb*cjSkxu5e>9a1ZC#`G*}~rDD9!WWBz|t+lxPv#Y_W!ub3_@Jf55i-QtZp zy881T0zkmWOtEOS={2Gi2GsDYMD3jVjn7-rcEjM5qIrp<7s5>0P7XpK2#5G{imSbm zO-Uf*TSbItKw^Ma7JGg+ytmrK+&;0)P8K-K1lut7^nq_Yl^x>G@mCtBncKiAY#p%4 zZD9cVJINz9y=nl2-9c_%*hXHotKgi@Bgw_EFee(Gs(l6~Gdd9cCO?#xR;Ug3+Ub+} ztHP*W%D_H*=(@s9qJ+<(@y4z_-_R&KCLPrtNBYVp%82Pv$4XvJ-J^Bh3$Hq8X8|ZU zMrnV_r2Gxy{#v5^&CUP9$iz*49O?N0!cj;KBc?h!5T3x3ZFcaAX@Y=#HC=BI`}au1 zbt)i*p0dcDyp%^sSS0yk*s+mZ+mbMBWDCKEb<7FKH3qI zwVi}#kw=j9Yvj28zh|lVEs@cEhLAgB_w$pwSCIYmqUTSWn2U-x7tJN&*xn-e$az(I z>4*J3{lJ7+#S0SNugXcz7VQtC(22K&M0KIw_K`E09goqSw(RLB@gBakJoEc%VA)IH zN}mp4S)AjwF$nkY*rPhL>~@4XtQzGQ#m@4AS^+&bi~yKVKZ8w3TT>AH9MY?L^a94p3{Lv7BL z#8I&*)4?R028#!c=lCz8XLl^*?T@&g8_Dm=^Nzzl_n05UUc3-!@*yG*w3?5##BBn~ z)54#NoJfhO#QDr3%98E78bd|TlxyDJ>vC~K`<)7u#llYmSky_m>QXPLf6&nVo_)q{ zMMUI~Cw;B~xt%^ktI^$LdaLG7gI74rg*n2a=HjVX^kAjx%=r>N(w?(zkum!A3esDxD-}urdhV7`cpO@&ZwVnNapE@mB5&ekRTx zoc{a;yay_mwo-GKxN?>L{c4-!&`h-2BkIYEcTj-5gmix=LY$ z;!G!MAKt8C9y}jXiHLh{w1T|E9{B-^uOiA$48DG@CIvj|;c-3`Fz3Okns*DVU<0xv zQ{SiyeIV66B(MTG+O8av9*#i=FnRnQmxsn%4biq^pNX(EeZl(A*zjOQ%4Z1lk z#ly+gZOR7hA`)>9kknl8FH@N&Es%bBw-R4(WjyR0&43?S1@wHat=D(zvywRV#K;khR5q>5>u|A*|E^Qhr z=?5Z)gDAyqT7%Di?b8WP{*ZR@O0dSah$b*fHN_X#5c%dmw&i%bA9q_=Eey@fXL_&o zl*dpI`wTK=TubDG)qDHHA~cG`s7r;6qU6{EQ7JoXzs`}d1k%_~(BlhUJbdeSZpQ;> zt$9`@3!9+ak9$|!>@TGJ_@Kr5&g*#Z^{zOI#e0Z_pkz)lq|!5p2%X{%!?gk6|?~Zji*joq59Wn-!+mdkHvx4O`+1!QB18vepobmzU zgvpbU7Ap$cLk+Ztq3vJKBD8~))<2u=83E0J^=2;p!{KY$vFHXifur_Rxf2!an{o;tSHsr~Wea$%#3^k2Ti%P^ZJg642@odbg{tvn~1i_3{#KWd6ovt~fW6N2CjOZ;nr zGzk7Io`o83HewjyCK|-EHSx{nItWP&)>#nZpyt!^&N>*OY{e9Q;RigGz#EQit;PJ@ zeBb6G2^lMLw;s&(r^JP!_%#1VzJ3P6vhUxY>xCW8%4)kEO1K{R;*t^F;M-nUTDTL5 z@Hd85tStK;q$5e{Z&p%1KOJ%t!foHP4&48ic;=`C^;zEYk5+7BSfFcM{aHt>+0Nie zb}It^9LIF(&*0-5a-3Dl2MuwzqY$|?DE*RiQ$BMbaVwGaHn>1PB>UceuDH~TtV+o~ zf5fj^)?gY^yr)f&=^C*gCaJ)MNjsJ@2~pg?qoHz$?Ri$epWANDN231xvBzNIf+5*d zv7L{&aUoQ3VD3*O4|}rx;Zuh+_fV_yH(uKnmLn$l(y{)Q&8)8}BP=;>g)Q&}b*m4$ z(C-Rixk%M6qzsECB!IlnWF&CHK^uKJ`8a>F+*M-&;4;Ye=p}s@60`&aN#G8huymE z^6EAJKA+980jUhjQ|U({urxW#8b@b26Z;wp9D=GhS75KW;bkamVF_gEf^+)0a zo@ui30I#6^kL(BUtyM0oU(C=uhunG^@rWN13UZ&RxH5EmIecz)n`%fVsYe_6_0bna zNfP}Zclc-FAO$)CL3Y4N@W$zAGrf(v+uc9+SeE%7DC$QadWJ0aZ+dRA!{v|mI^DFp zA?!P?>_2zC)g*?a7ee*fzVE7mkl=52`Mu;`pQ>pXsCf4buJI!ar&=L|1Ef>44_lOS z%_Kcmo4>^E`Q)MN51XGhr(r=~5bKJ>wP$*t7ChA>({VJwLh_6o3nFnCqKUauxH`)a z;jAZcS~a!rg%R)gc)!0j&wj#wmbRBXkJAB;OK^>c8;BapR7p5cxKnT6N>z8y4UYj5VeC6Z!Shxk7zDUR*UJ|F1E`=H#w zxYTFNz7XIF=l6DiwqKM;p4LHO#zVyguX{(De-R6HWGxyd- z@!6(@M81qKEXmK}>ynewh@DdxMh<7DOZJ3G4t+%|r$cdX%uXdQ(2hwIh8$1TXSLnc zpue#)FR-k6P&fHYQp=aBn_hD)sPdg$-9j-O>|x~E=FUh>ZJ5u?*T?YZzCCBIT7 z_t=zQug;fH^Q&sT`bf=Gdp#+XI4aWxp0_!^Exquz5c1pHLm}W<%DSSJ~S z$9ztFhO}y1$}e+NThmQ1FXlE@g{7YvJ~52|b8O$2D(O{vuxByH^S%m~izm)&ym~+q zCcX12LZN2N>PiuvW^Ihdwrf>mOQpLEuYF^4o{r8`IZ!3jtgDU-q8G_aKOR;S*eO}S zO#W`_Xf?qP)mBuP+|c2cr-2RP9GLE)hPb7CJ4+0?N#H$GO&tVi@hp*b9P%mBnSMAt z?$_a$>GPCS_K;H{b=C6vP17M6@FHj6gbn@8i-CPF#9le_3?U*;^dY^g3Ufod;oo-b zeVuXJTUJcDU6Xt}dx+#y%af%;N)zZ$G@qm*=I`xYqX|w} z-^XfK+wpZ{Q$2M;`CE{9SgnY+vEHk*g__{~^jz!v(MZ1S#9k%+N!p zQfMzr4!O(@lm~*6I=m^@;^JkOrPAo`;%WWh6;^MPl?k8I?@P@=a;Y(X|GLeO;Kkxh z4u7}P2DA-J1?~JL7_45prOr+JyXPnNoEkis*E=MBrupUFyBNE!^IvO3q~H*hyi+Tq z_u|(_POXPOIlU%kMo#_n#@grL+2~U(m2lQdl>TvC`gqFvTuSAuAJw~_yZ1}wD-)Ij z``%8PEoCdOjg6$7axXhx1qeKnTuro3x}2c?6siC+AR`jXgm%5VIp~{@wsLE=)$oZgBa@!&#g6@;miqqgt-L|I ze$X6ixpfSOX*i(8z?FID$F2<|`icfSmV3j`(m{%K%yr*2iCF2{7_q92A50s^)`=Om zD~`0}Qn9}{sdY4|Ar!{!a5CJJ6EI*Wino3C)zUzqw}If? zt@ZhA{gVB-|Q%!LjfDtR!S0=)Yw;4|Lmn~JUPgIVcQVRAYzk>R!|JeN$e)fs= zwa*($>6wy4c@i@YbvHf5kFPWH7>bV1Y!!sDv1G;vzr9N)t@f<$YPV;2hE z=QTKe3cgwOazZ|(O-FDCTp3u9p$@fym01glg(QfnQ#t)e;URVbYsv_E^ zvx=SZUPiY9mUoh}VBeE#^s`9dGj>~7GDBO`5*UsNI;Ghd}ole4+19cCmT;Zw?=QM9xSH1`0Jg8 zex-MN3pV*;aBl@fJxf9|+ohm(q+|N?3V(ZNqc0f-WdplzAjA}6TT9gpTi*P^I0E`Xt?AS z9g8#2I}((5K$d^2aPp9Fx2*umgTSjS^3AyW-RcoawZ{>g)%{0p%-zCcaj)_Bm+{ZK zu92jb>-TUal+Fly($`BpYt+Ql&5Ap6|kJRhroF6}-k1 z7Cf&q?b@L^W3#frzN$FKu3|=Y4gXP`x!dhnT-0Jxl#M{5>KX~2t8q{U`B{nCU(a%{%s*kWHIvI$uC*m*QiE% z7m}jR2%si{2(51FiQW1Ha({H2^3;m<8MiFwX4Yp3>||@u#A^J)YZS9Y`Y7i*$?|)C zL@IKJB_mhD7tv>{BrnKHR;CgB(;l+dI~2EPg1?)m=0r_~kKhxQNGs)BZdv}qQQ_n_ znpnmaJhxgybfdih%2KQ{(@2Ob;pA*mTVd;R0sukA2iM;R5mW;El3zLAz9dW6e;tBG zHz_INyKZFKXU5ugM8M4r@a(5mY#e5!dZd_zw%}%+zG!AF&T9pKS~kRRbS}xA2M2U^ zyipw&@u>cr@R$Ylm`F2xkH-GuCdYgAw{;v?5AygclL+R{fhXpEFE|^t%NSjLG#9H6KfbIlFghgKZ~`$(wsgZ~#KM46OQsUNvvG%}{v$ z(67KTJHR2LDpYQ1NX7r%A^Dvcm7--l3=N_8#m_g(k8tH`Mi?%pX}GrC>1V$sa)4(t zsm>v3Wm(zeu%O35`@*0jR-wxEgTf-8!CA32LFzZ&7`~MP@~x!4y1=(G)t?YHh9<|c zN-`1i(N$30Lsh#?dZ_uDvq`jKwZ~;In+%c+%b6V;QEo@C-e%vab4z08`j-;O1Pml% zkcG4Nn_T&=Sj+Lo_Y(TqH=-iKMcAi~A6Zz{HGNabzVbLP-7P5b8NoERXA8UoURlF} zG%vF!yWG^b@g)Ani$l{CRTdF)C%unCIk3~bx%TC8ij8NO%&Zl^XO@(OH2ZW`o1(=% zHl4&O{i2dO7`k#51A-<3J9i9e9(BBzySCVx=AG^GXZa&Z4&r2%L2GHjMrIB}yTZ;Vea*D}F?B7Ns#bM>4Zfk327i;@ z_RgL#^&`g42__NP&`foKsJI*wFGIGXH&H_VW}yeP;e@jemzrPxI6)s!%-oXJE;qX2 zYVMnynQDHW`|0FY)3Kg_jTJWiQQ`1RTZ1SOgVY{kSWuz@^wbxbpk8YK1$!_LpTBbI zd$*YQCGy}sePQ;|L-IWjmUK#%ID{W0b&1*=tV0~EfGx*AeS8hE^>sMcY9qBh49_u& z?U}Fh6KCrT+kb7tRc;G2Y{7c1vf7Q$eQg;n_`Zk^s2xg&X8z2P=VB*#o<1s=h;|aZ zWzY5Xnv>?jn+?oL=?oH%jl zef91K!R0U5lJBrsv_mW-v#nQ--odNsZ`Uaq;#TnNzh8do>HZ3%PK`099jV1{?+AS@ zU2IA4jdCHH0MZ(D{sLjl<#4#>$|ub&#RoJiKRl`9p;x~Z*g2@mh$1``?)QlicT7L| z2>Wz0!6iCjUv{>x4hp@F`5Z?`{l2}Ng@<1;hoMgV@0uBSS~=il@TL2JjQ(uVvVRsW z-g`GUdq0kcK7);UbUTz>+M_pF)4zYK;ZSBkaO=$ z_O(*;Fo<(wU!pc@Q+GM|zrV{VqliD-ru(T_8Ws)hrO6KG2EJ_Ren;}zwdJ7y$0Rs= zBbz$lhi*KbSYKwR7cDI~Ipq5%E?}-g{$=RgEAw#p{=VCQk%gxYddTp%zFzE;VCn z`V8_zcQ(%HoL5mJT+gSePm>8aqs2~0^ZvN7A2$6&WZWIPHJa}XD@cA2XpgmzPw3x< zw@o;}f(dV;qnY2T%Nf8~+M#_9^-}!hLFWl)RXhXJzB`Y#hidpRW7#b%#z7~eqA;hq zHI=TP)+u^R+^ttuXN7+AD8@2hz%OaNcKf#$2h(3gLf7AjR<-_ZF*OxWLLu>ARxi2XhnrwXs z#O|)8$<=*17H|XhNw0G%ICbA;a%yY&`1+9vr`UBc#2nbeJZFUhp3+^p#m8Zgs*@Kg ztu)UonTY2N!=nzi@h6mY#6I>d@O8$4|6H~6Qt64(Yf2N|pk&S6)9F?ytHvaI=iPon z=fIgi8A-S?wWowhoeWBz1nAe@OHOKaz02Hl)eh%G_r{eacIG*X{^h{s>$l8H{j*$_-w8{U zSX{QZ+-0j2f!)n~g)q;$;Y=vk{16_Hh%Bd zGMf92Zcmk-mwpl|77HInmupae-bVWsNhyM~*Ql&(2V=m+q3#p?eN;uxDG|dl7?!3d zb+;FkCaUGQ)xf6)dqu!nEOIg1Agp;bD?vjw;#*`;<6$MHP~s|z2(kIy>1k7BGlUr0 zacM2guTLF3u)w=$sPPu3+89TOWqruzHCg@7Z%0!P-;S|B`dcIhU-sq0Y0sKN{DwQ< z9`fhJ$S}Ed8r)P}6&us)%0I~@qEC-M&FSo|F1X+%H*z<0OXpI4bj=_-QTlV%4x@)V z<6f(|$lif4|KjK{b*)kF4MrhBtXi{#o_qKGZCA4KvGOY$0p*PkOWTWceHEZj_hYet z4JBPFjf|I$B}HWH^!2#ksz)EGh(6~oej`G07fP`!J$r&$#&w_WUB^A)L-!qjKGsQ8 zjv#r=fqiKmy5o+bw**sM08{ix!fx=4AmiO|SNPvOIc?~GOO|QQKYCA&FN`oHwt^Ara)Z2n zQ5WW^&WQl{c_aZ+8Xc7RBCbS?JCP&{^BZL>;S#FicXingX5xQK(aZB>U z?n6=mqIjjWFxoT4`+PJ6Td1X-VZJaCi)G8Z4W7@BPDWxxV%E7U>u&S&&Ky=wXeKqN zG{m2+xN48juOl`jgxydgOwnD%9`QY`q=V=aV(s>qy&Ay{d{~sfF)8S>l}F1+`D03U ztUFfwM_jZU&b;Zh52l5hJT3kGnyx5}2)xAVz3pv7y&&!dUcy^w!A5c98Oc-*`;YNm zuC^%9&%EH~5KVtjfNZ?Q16Zi|Y8YCl3ciTyw|9HR=h>)it@^VIsHGDHvr8((G__&wGZZr=EX~v&?UN z;bwOOaNd)gTf3j|txQhSh*i>ZJ?kIX=7IfT^?F4mKx62J)sY?{Ve2{W3lH zp9T0HiD_-g!up8mPu3E5$6Yj*O&9O!DlTAiXH(02Qu4EgC~Bl|*Ws#dZ6xtuAH%|I zk#5Id(@mjjJ*yfWz4^HUQ^J=|0rZhiDtrtcQk|=BfR^L&5KRbwbXz#W=xz_~0fnZ+ zdif@}zo*q-;1s&6%rpZ|`&LZ$mmewF}X8?V35%~ zTS!ZSEq7m4^uue-Fb3uN=Q3^5ExS9?eyr$-NzuCUe~7{j9PhMP z$#m`FOlH^^*Qjq)(S}D#RR+Tq$^tt}-bQ2^1-WKB2vox#6+O<~*E~jo5(V6-UQ3cJ zOTmIU#Klt3px^LbGwe+e!I{9x#Ug8+eE*Zp)_FyZp(mL}srGgP)u)wnrR!@o!^Gy3 z`c4ZV*5=!mZ2O^%q*$7v`NUjlVJ?=q7-6;pg2gPCE9!X4cScugW}rOm6?2{H-)M#j z4B<6&cxCx5!GPJ#wbg^Zew+A5{i15ku*UhM{3k4fiEE^}?rRe6lH~vkGJNVi>w^eE zaDP$e^~_kBlu6+iwVF6sG=<(ZrmgMg=VH+`6g0@yfICt%jo7$Y)~^Qty6QLJpA9oT zVX$o#YvHC|DvbaN7V!`IUc}ffauN0n>{G&KP~{rG@tsf&v_XUtx3Kw?%GDiVM(|Q+ zPuieFD@ZZ~0TVPSUxZ)OlV2Kn*FvSXoKKcN#&%a$TS(V6kGnyH5w~GZ@pgUDkXRb_ zafDZd?OI4mcM#YThcT-KKoDNUGRVJ5QiT_(1fhxzvEuLaMdRS+VFW*f?V3xnJcCqZ zcU?gVl1K1%K}`l~|_HRix!&iX_T_j)(=lR0aq-5u-5IvyU5$n=Ke z$rJ^p1kcK<+fcAOrxyqNk_C*1Uj}FisnuD4)*ReaZj(JmKd~b!9RE|Lb8TNP zATklkLDdJy8v?LjSjdV5nzwB&cnEP%LHJ^GTtWNtD%65 zEt?zRWO?S+|9U2d)f-uOX;` zlSRL+hv0ANZO5i?mr!4Uh7L;cAaVq|?eqD5mgGD_#QEFRPqk*?>`FN1`kj!R-y5dq zS?TZQc2$>hi>GQ$ZQq-*F_6~*r$8DxjE}Hi&Fn9pfdec!8?Y%z2uv7a54-oZH16Lz z(^W2<-2-FX)t-P`f?pu&LjV$>R4SJQC)oldg^M;f7iP}&Iyxn42Xvmj;`s@lQk#NU z51gqa6fnmQz@6|7w?-Q)+~SSi#!}h`EGn!^rW6Yd*TZ;lpMtpcea-u>Q&TS}dSay4|34f zcAm?RSQ159>Sg|ec778!J1u~cnjZOuH|e?-mh+Tbxt@+I;c}ApPh?c0jR|xPN@SDe z$CU6aCC$|mQ&q4azWeke#6OiHwHCK21KQXI91<8N9w;h|NFsImMej7RkmjE5Ya~dK zABgCXuo-Z=r8VrPUS&DNZT)O7wv=di0B$fHRT@DiTmt zdEl1h!3$NlMgrNDH@u(h8EN$zC?>78cr`M(;G%ve(b)ViDT^Sd z6Ww_zdC_>fRpN*g-zoLPI*SZfvd3wj#}TNKhh1~XP=qQABG9_2+kVm)1(Y?pg5M;d zFv=B92q(YR#JaEGK|`^9s9JY?#{v95RAiXjoVJ|+$^vF6NUl*|G&UCJMjinp z55Uv}6t+db0ZuZa6Xm?MO7LjydfL}ma8Z`OitXnwJaAEbkaDiQEPwrsaPoUF@773( z-Pf=HT&1`YhL@6H&;o`^f^GZQ#%4WBo;`O-RkPn__fVQmuBas&u-%v4tE4;%Os0jW zW|KruBaE9M2u!q2KQAm6H}?yl421VY5aDm-O-kfL2Y|auk1~x801^I~Bx)~^2qZNe zp8BAlM~uY*lVpR&BdeUN3dN{HiUAq}@;OXx|DuiN%DG;$;J71f3{As%jnn`|fMkzw zC6E@9L>&cCTC1ddkV9<^Xj33Q(4w#Bk>$T4gkQz_L9Sn94$}ZRTuS1GTn{4)0QJN^ zeJ{v0u*^8f^{ybo0GgmpX%d1%aH2u}fNkzX=HBjQ&rzFzD@Vas9*if=ovtowM|o@L z?WYIp0Y`s*yzD9kLFh&ym;(Hqar5TMzLR$8C$C{E*uiOiI>0?17{NiyQiJO~gyu8F z*@nLnbvLlJ7#X{7+(R`ks1lzY$^ZVMe+mrR5KsQJ5=2LklS`&oiS>bJIDRK0x>1@vj-}kixR?BSw0i z#bQ{G5PWF46mGk83ifh@MzV?dB$>9Stj>^@NNF}`vN(s!Rbv5cvK@}op>BE?5I(x z6Ta1(1U}Z?d{`#2k??1@@=LuAp@ADw0<-dJ?+OpiOG{890tl~!XrAC9Ocb2yby1d? z3jA{C^E#rf;Qjms_69Oe$7IE@T0}lhWD3#c{N?l8X6~B|7*blTz;N$u;d~Zvq`GU@ zqmUt;2`qmxZcg~#!AQE5H!9eT`F$9QJ>*fbL?qaO;0!tUXFn@cg*NOw^e-27CYMk1 z3!TDc)fs&M$<%O~`IB=sR0U#;>y@_UNY7rL{9qt-XK)a|qSM_j@t`s<Gcxmc*K(y2sKx>4aroY5t6P_xpSKvxOj3L!fd( zMjqALXY_3h=@~RVIL`A%7*X+Uj#5gs`_7(c%Sn$3zwYGaXHW-^gl|*T@kL60*FL>V zyFGmOH8-_w3Ce#t#lFnZ07cXT= zD)OI-K1-1^!NC>UwX_Gy4h~()keQXMo!B#HI<86eDztjVrs7unVg4%=ZX|5!ynC%z zhj6+zEnI3V!^oC9!MXDD?9}C?uEQpCbwrd)FLzkQoOMV>kBIj{b<8?V_Ctt}U-aC{ zdA>cAN_sx_+8jnzIl(rMO2656^E-RE(dXiEr3S_Rczm^a-JM|Lx)!FqU?t{MqOsSRe9_BEpWc+W2V6+( z0Ta#98Bvybm135hMtN>g9g?Xz<2!eu@jO{gX3ePQ)U9-vMU2(Q+f&__rghLf05|YX zf8Qp32osCdX4PLE;BGNEBq_&uEVw*$;DXbQZg4LmqMRP~DBe*V%VjYA+}9#^&VN_p z$wgU7Y^zxNO4@*v(8RUS13@T9nGW}Rhr-&SmwG^S3w#oB+lRDXwJ6hyYv@FRrtEF% z>v;shnN!O8zsU_Y-q2$FNJ!*l-;@CLC5JF~>tLt61I2iyv22^Gt%0RM0VJXwduOpU z=-jZ2^qd=B++p4wZ@eiQHjr!u9Fe>0kP>oq@Q7y5g*`kPLXxwyDc)d zo4f-GRut^IR+1a@;O=ua;Vu{zOZ&hrc7F%IrvHQ_c4Hi8 z?K3a5z_uu@KkzC7_=!QaoMB|?Q}4zfpFWDpRgm1J422W$5(ZBW%1~?kfR_2EBcj_n z5(WyYW@on+jw~HZ>FN|ey74pylgzjIS+0x4I^Y0}6C!W3MeH!SoKGNO3nypAVz*wo z_2a#_c;qJzRTr)RPC40#c2&Z&N8&AJoGo%AkLrj;_+D}~A2gqOs!HZ7Pi~_VaUpT3 zbr!?V5pgIfu`u)o4+T`DyWcO|UB6dNThuv5=(zss*W;*0-pV#7tDbRsOkER@K{Ie5 zJ%(HN&hU;i9SEQo3B@{Fs{!;uww<9i#Ti(KVmDAc2#lw|$;ge_}E-}4mXX3AIZ|A!joBqib z3tyoVjq$eKQ~A>7Y=mB@AF@$4MrMJCKr(JVsu@GOf6tWWaF*3^Fhtk{ zC~eDz+LW^q{BV<@%{&l`B|p9klz_9lvZ*`9arM=2?6XBJ?zLAbfX?qMAZ7Q zlHYJS^OGdm;#toc3n~7}rL4${R+kqu2nq%ayzNm0Q=`pU%)O-T&xHHFu$$+CRra-CMvg#MGvA-$s=7CjXNZi#5)rkTd-LKtPV+WaOCRn*m78 z1?DulUO5)Ri@#by{V(_Y3l%E7=ll!E5j+~J&h9UpWbpnCQ(gexrdVY7`kH1lb8Bpk zXScI@Q1`}a`nUU=I~ruxsNhJSD_W9ta?w{THaYh!5Zjw*g0ai@7>x0KUubZ5dbri3 z2wFA7;i(j!ZS_m34k#XtMRdZxw8}h%PotWmTt=}J$obu5ALwc3*@J_tTMosri;wwgBP_Al?{nj6C5BgUp2{X+v|bxs zg)n%GK+IwENUZ)Mv>cVM*e3;U5pZ6m&KvgH%2BiDZ+Ga0Fh1-&7k*Uxu$BJyQ!l-p zyBlQU&`V&%`mH1dN40-^ZBSO0{h6iY_wx#xl4OKC?o2*fl=qoMucu<8-)`oq8IK?Y zDO><;5s&0F$ZTj_kV9D*AhM>eUwhD4c`Hv@@2{3H$?aV~-aLx)K($}69r^}GQiK8R z>;;~on=*r8;pI}G7RtGiL;#}mG-Fq-(h;C7J>mw=u;9Nq)l10PvE{Zzy#H{%24oD*A!K|B4D(2ITVf)`+W<_rr6ezSm-Z@25pF{%i!i}$HTn&J0>x&N<^cHp^;5lw ztZD;~T4EV>Wc&J~lbhk5L@gg=+K0!|+!Jh+o?Zqr*e(u6c`+Fju0oRb$|A~u_PX^O znl;087LzRP1TKR=z(axZ0qxse3lrO~F;LD024IiAaTmc1`Rb!?)?)@RRR0>R2hyYyzYf!yhd23gbe-$6(|KYDO2TNuZkn|b%^+U2uz zesGFF9mW3s8$XHyMz$bJnX3OAGKm=hr>%9LABj8b9`suK;w4r|NMQZlwv9wGq(mQB zjjepydxHOj=&e|qT_rOO51%2*!k{*=9|JkMlXfyyi{V4x(|lGM2>WJ4|0*Y ze!OG?E()ekALZIQj2yw~yAT&cA4SdiTI=Jo62*BUofXF7$n5gBLJVFV?nQsR>BwFS zJeU8Bpb7U84+qJi6s86ls~UoYF@)_?lM4&s?UZu+Sh^P}vx)Z!2?@q&Zk-bMHX{(5{D1%9yn36poo zPC*iz@XtoFnTxN`8`}RsBFfwQJz-OR>eQ$E6<2FE{X){Ik#p1!rbPD}Rq4bIvdkR% zHdSfsj)0uM+(Bd_sDg2G@%BRT(O>5RDF?_jlNFXGn?B&AYS&NaUU?4f1hJ*rHnIj2 z6rBdYdrDjf0aRwg2~ZdMzalY=bGXajqn>n?DLrf=LNMJh;DbXi&-z4HB~RX?xxAG( zS6|h#{%8~qeFF5LOcP1Wm21<1h{CfKy*)4aDBgo5Q27jUnk5dUT}sIQvy?dV29A$H zVC22Z~yyxn^-n`Z`{mB%5OdlFXRtG_A8ZKYiut3Xo#ntiaj= ztn`qlYlW=rl5NQLZGL&czyi7PcNuIysU;bO9F5qT1?75hFw(}JqXEl~&Pw!4yMJko zL55Jj^n6O~#Dv4QIx{<*9UsXc&zPR}`NlaWdXBWG*~v^n2aoPGc#x^?W}lN_f}4_B z!;&ebmy0c(TF!A0cJ6CFtj;ILQ(I2{M`h1G68Vn}zen2ZE3}1%>oewOKW|JA3Y;?p zsj7yJ?Y&jqSe3J%^c$9V2`-cveZyVAEbj>1pwLW083kh6&?NsGZ&HPWuoO{u&Oi4e z?~f3g4rjT6tj)!ZJ@*hRtX~`)%Ly{nbK1OY6!j@_5iIVY`CBZWpZSMX(PurPQD;D z4Y(8bV5oNNA@7}FM*}zcrzd$t1j5&_%1e-?(5QM(6*qNNMlBW)L&6^}?1RE=HJVto z(T-*O4xpbLOF$+8cv8L1`T>7^1@uW70ug)(R8*qt=WqN+aFX4}l|X!R8ek+aP25>v zlXsyYcOCl47v7bE{u4%5)NXgUkQ$3?VVVL3D(F06%mke$utVJxG=ei#8Lt9#gkcm@ z0=qDPG--FTfHt>wELWD)2|@}3MrE)gzzC9_UH6=X+kfSbAFR>?S1 z)#W=NNT8eahr}osYLx&@asqQyr3{Bum!v4-P+*my_e7}UcTlZ9Agn6H?|u*3?FgB5hQ$Q(k_l+lh({|tz6|*9qrOYMWbj z5@TOqw7%rlo|8=UZ2l%}T&;;MbvmP*3mc>LlfpZ?onAFhaE4O%E*w`QIGB8Vys07m zpg-P)PJA*cmcd%lS{DlE8c9mt>g`bQ%l#Dp5A4ur=90#OC#T6O>KG5E_IviwDuqatCP%O>ST zFLheK@yyPw=4;}jV|6nRtwG;DHK>vH@*{QjP%sjd9nA2a?yCva?julVT7#IndL z>C|-46W1oz4{f5x3NJFfFVtr0l)OZQHyl8|qhF~s<;v{iTlCE>qdcnXT)#wasw^DYW>i|; z?%d9%apY#PYj&la^vj7CN{GqfGtmi-n1k1QkRzpKTt6XjIU@dq3xtloG@!PtI)L++ z*r_%17_+5=*anhVDxFT$0;6WTpZeo`YcH`Y9c3F=j*!I(3Bqkh&m?qhDRUXW9Hytj zl_dxTzu<80^WbN_QDGBtv^&}xUZ}ZIw@*TEep>3us~5jgkPon~`$_)Q-g8us+Co$2>BmS!bQtrZt9+^1SNrTqB5X1u9P`9& z0!T;da&^PiLK<7cYkcm@NV0*r@9xTY@X%RS{D~X8*M!wFuiSA0y~ZJwpAG#OoHxdYy{D1K#@q(6yAcj8&+#(V z)3yZBv2xUoo~@1S&{l2C&^a5wO|9-cMfArhcN|w8b!$=VT_>mCiqK=f?{%DhbfHc= zJJQHXy+mrpaM%*q)hMnZ<@a%JoQ^vA)BJo1+xZ>UALg{J z>%TKtbg8!L;-y+*u-ZYG=EIjZ><$p;= zM0={=cH%*}B6(x&i*J40aD?is#<2z+dWY*70Xs&vOBspG9$tL0#j3~L7Yn%OuJ7tc zO~a$!>C$Ca4hH;e<1zh!Zc0}-paIbrN2G#81RQWZ$cHJ3#oSH0`;Y@PWfWvTaE2oF zb^~a~D34BXQOaIp zM#!EiCAt}7nz1h?8Uyf+ zl#ROxDdAXf{@cG#$R}-RYo*`gq0v%pR)6o+&ZzEw5Y=$a&lohsX`e#}jx!w^5A*Rz z!G!d0;bg;_A^p7W*kg{~v!$Urdq!l!O&|fX7G9ZpW*VBta5FpK%uZTgW@>EY_dsoo zaI@XgsYH(Y3MmabQ^`9^MaM$RP9Qkr?bgwll+2t zJtxUvef;O^mL~C}SUB1$_eRZ7pwa-Co-&GuDHuwX9nm$I6vrnvrGp>bhJccR?&_R8!!AqH8G0IF>3V9QEJ=S6fM$R!xfVwoz#H1cZlL(@w9 z&Z=7>R#jKaRM}k?A}amcm|2mh1wWA*!kc_(8WX}|;ye)lm@vY9s;KQxFHytA)lRRt zDXh{j>OHHZ(c6S)$PqGo2!rKVJyUR=l5Vtk5j(bxP^9N(#@o*8c{^Vy>%Mf_c=3aM zmU6}9N3Cx{7)y~3-2krXWbw{aANe^BZuOMX#911%$@XalC+pcZCG#e$*49TL3R(YJ zAlO<@^})W0vr$xjP$x<i##l-Xw9~T8&Bcpf%wyjK%hESX zils3svjoehzUXp}Xu2(zwwwLCrM~)=D??h>GgIgkWpURt!l{6>`*QAK`4%z(z& zdpobb0kV%e*96N;*YuLx5QOphX(aEg7%cre`PQ1?lkJ$WTfz1LW?Z=rI?b^Yt(Z>tO5JI zNq;JSse5r&hI=cIOsWZjh29PuD(4*AK|jyrYVOH{G>E+Tcwx}#h^X*pnO<88gKRK| zoeAFgi<*`KuNu2NT&y@x?S(k<+=czHekJ3j`k>|08#!M{tQiw8^FNL^%gGuwXMT`F zYbU2@Bur{7`TUjeE?FywxU_SV;y{Q%jh);EX%&H8t6M~7BY{)y@XT0BEibM-$<{?@ zcwCl1b%;CNNfh7+L2`3wSovDsS5ZnfmE94#xYp#HgJv?FJL#Xf%GkMQ;#;p2Z3#X( zrV4%^68>!M%+dH;u_%L-9SZAg8p5x~mr|GeCi54!)@uxKIMXW}g*q$=x)1hO-IJBv zdKTwdu>7kZP8(plu+)Gio;>QV?D=oBNXm1bL8So0cm zQfi|UX9!xeUOARv;kfe+zxiezeS@+)L^N)UCbN(U6kvvD1bQA!41&Zr zpJ#{w(o4lx`Ffl@w<&;|ocuKFbsZ{0cWuNQ^Mwm@zN~PZ_{lOyW?i1ff_f?7mFlNC zKDF>TAubeOV`ATjM5G%Zhjou}vw)gz7BM#S6@}{9$mP#tkt54o#lUq#+$e+m5vlDI z^LE_=bfXHzCTjU``nVL?>*AT#NkAJ za0C!9SBKs`MBh}BLQQ>Qj<{4X+Tccch(+i!?@@_qFV>xjJq~^__qd9T=0=H@1O0(6%%J_Qsp|D6zicQ5425v8P1Qh*Q`Zir4ty( z2drpg(Bl;0ILJ5)nyM7|82>`KoqanHg;&;;XcLuQ5FX?f6=J-@5$)lKWF>m~@|#P` zaN#oe%YOyV>H}cLINx3W0Nk)?3jt`TlBUFzdE`x;lD?fNP}}M?%V-Ygxij(0VPZT2 z%nZKa@C*!xGJa@~rT7<1kaMl&koYE^p={g za$z(aE3r0RufyzOz?!ziL=D%vY7k$}C#Po;%#2#a>b@#?EGg(k6Whn<M)cuFRk0ltHWfcMjjU8M?^7nXqObdqt~Nod*?p?G#*xwm+JlXqyz`AK2T^ zl_q@D*&G?#b%4J5>s+y(u!s|ANFq6Ks;x(GNUbw zJ&CNSk8!ghJ7|KY-{I9(ivdXW zhNh+Ou*=O{v)cr!_7<%~JK>aI1{KbjdqcFn=80y(D^~GcAVumjPP#sg96%*TR52zWZ^8;WNuwU^T{0j{Fyetx)sS9)i1#h}E2{?s>Oak{taG&e zCu`uIFTVe6vPm*xLGUaBRLD_KeUsj?@)W@c;DN$n{V`f~?u$MzfLHx~pzS6=&>-R3 zk10L(MmLY1vgu~FRq}n0BAD}Q{UqO){cn;td0Ib){hXTPXfO`l` zzLjJo1bXrnFM7Rmb&Cfd5k{2%${OSSvOn7bnE?6%uLrjQTVQcOsOY^HQSWD5xO?|S z+xj1}KjF%SVn5_E5X4#uRIm$5!S29)#i;uJM+;J<>a|T7FCbHvJ%*)v93nJ8W zhh-cj1<-&xl$_mrxOQ(tgEgGdmKOI&Ns5L7h7j3rl8s+TlCSrrV&&i+(NY=$Mw_W- zD=2~90J(N_kP6P1TjEMP5rOzwU5KhpHuVO8g(BnS!4Kw1F?W&5=+8PJ90-z{B+X_j z2UP3)OBe2{tvU2Ed82dfG)YU4S#IP+hrBj(yMo3j(#za(`RJ4k|0^Q#Ym89jmJhrh znUY`rn!rm0f;bIIKPYEjG7ymY`-OQ~NkH6(6?B$qZ;RQM2J@TAcw8Vq zx9*KqZy~{lWtRRFEEd#0@+wTtlSyCBNh>UDeC82v)gasG0!Yg7Z5|Tg#_25hLA5nN z@m3R3vQWhAfIJ^?)&$-YH^$43Yw`bf9sD$V_uGcqQ(29tDy`jCz=vdPfiK6opZhP- CwlU%W literal 54030 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