From b324a7a45845dbd86fffc3f541f59af9d5a3334c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=A0=80?= Date: Thu, 7 Nov 2024 11:01:53 +0000 Subject: [PATCH] =?UTF-8?q?=EA=93=A8V=C6=A7.XH=EA=93=A8.=E2=80=8A=E2=A0=80?= =?UTF-8?q?=E2=A0=80=E2=80=8A=E2=9D=8B=E2=B8=AD=E2=81=98=C2=B7=E2=80=8A?= =?UTF-8?q?=E2=A0=80=E2=A0=80=E2=80=8A=F0=90=84=AA=E2=80=8A=E2=A0=80?= =?UTF-8?q?=E2=A0=80=E2=80=8A=E2=96=AB=E2=97=BB=E2=96=AB=E2=98=90=E2=96=AB?= =?UTF-8?q?=E2=97=BB=E2=96=AB=E2=A0=80=E2=A0=80=E2=80=8A=E2=80=8A=E2=AC=9C?= =?UTF-8?q?=E2=80=8A=E2=80=8A=E2=A0=80=E2=A0=80=E2=96=AB=E2=97=BB=E2=96=AB?= =?UTF-8?q?=E2=98=90=E2=96=AB=E2=97=BB=E2=96=AB=E2=80=8A=E2=A0=80=E2=A0=80?= =?UTF-8?q?=E2=80=8A=F0=90=84=AA=E2=80=8A=E2=A0=80=E2=A0=80=E2=80=8A=C2=B7?= =?UTF-8?q?=E2=81=98=E2=B8=AD=E2=9D=8B=E2=80=8A=E2=A0=80=E2=A0=80=E2=80=8A?= =?UTF-8?q?.GHX.SVG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/XHê“š. ⠀⠀ 𐄪 ⠀⠀ ◊𖧋◊◯◊𖧋◊⠀⠀  ⚪  ⠀⠀◊𖧋◊◯◊𖧋◊ ⠀⠀ 𐄪 ⠀⠀ .GHX | 3714 +- .../𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/ê“šVƧ.XHê“š. ⠀⠀ ❋➭⁘· ⠀⠀ 𐄪 ⠀⠀ ▫◻▫☐▫◻▫⠀⠀  ⬜  ⠀⠀▫◻▫☐▫◻▫ ⠀⠀ 𐄪 ⠀⠀ ·⁘➭❋ ⠀⠀ .GHX.SVG | 37455 ++++++++++++++++ 2 files changed, 41062 insertions(+), 107 deletions(-) create mode 100644 𖣠⚪ᗩ∣ↀ∣𒟚⚪𔗢⚪🞋⚪𔗢⚪𒟚∣ↀ∣ᗩ⚪𖣠/𖣠⚪✀Ꭵᗩ⚪𔗢⚪🞋⚪𔗢⚪ᗩᎥ✀⚪𖣠/𖣠⚪ᗱᗎᎥᗩᗯ✀ꗳⓄᔓᔕ⚪𔗢⚪🞋⚪𔗢⚪ᔓᔕⓄꗳ✀ᗯᗩᎥᗱᗎ⚪𖣠/𖣠⚪ᕭᕮᗩНߊᗱᗎᙏᕭᕮⓄߊ✀⚪𔗢⚪🞋⚪𔗢⚪✀ߊⓄᕭᕮᙏᗱᗎߊНᗩᕭᕮ⚪𖣠/𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/ê“šVƧ.XHê“š. ⠀⠀ ❋➭⁘· ⠀⠀ 𐄪 ⠀⠀ ▫◻▫☐▫◻▫⠀⠀  ⬜  ⠀⠀▫◻▫☐▫◻▫ ⠀⠀ 𐄪 ⠀⠀ ·⁘➭❋ ⠀⠀ .GHX.SVG diff --git a/𖣠⚪ᗩ∣ↀ∣𒟚⚪𔗢⚪🞋⚪𔗢⚪𒟚∣ↀ∣ᗩ⚪𖣠/𖣠⚪✀Ꭵᗩ⚪𔗢⚪🞋⚪𔗢⚪ᗩᎥ✀⚪𖣠/𖣠⚪ᗱᗎᎥᗩᗯ✀ꗳⓄᔓᔕ⚪𔗢⚪🞋⚪𔗢⚪ᔓᔕⓄꗳ✀ᗯᗩᎥᗱᗎ⚪𖣠/𖣠⚪ᕭᕮᗩНߊᗱᗎᙏᕭᕮⓄߊ✀⚪𔗢⚪🞋⚪𔗢⚪✀ߊⓄᕭᕮᙏᗱᗎߊНᗩᕭᕮ⚪𖣠/𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/XHê“š. ⠀⠀ 𐄪 ⠀⠀ ◊𖧋◊◯◊𖧋◊⠀⠀  ⚪  ⠀⠀◊𖧋◊◯◊𖧋◊ ⠀⠀ 𐄪 ⠀⠀ .GHX b/𖣠⚪ᗩ∣ↀ∣𒟚⚪𔗢⚪🞋⚪𔗢⚪𒟚∣ↀ∣ᗩ⚪𖣠/𖣠⚪✀Ꭵᗩ⚪𔗢⚪🞋⚪𔗢⚪ᗩᎥ✀⚪𖣠/𖣠⚪ᗱᗎᎥᗩᗯ✀ꗳⓄᔓᔕ⚪𔗢⚪🞋⚪𔗢⚪ᔓᔕⓄꗳ✀ᗯᗩᎥᗱᗎ⚪𖣠/𖣠⚪ᕭᕮᗩНߊᗱᗎᙏᕭᕮⓄߊ✀⚪𔗢⚪🞋⚪𔗢⚪✀ߊⓄᕭᕮᙏᗱᗎߊНᗩᕭᕮ⚪𖣠/𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/XHê“š. ⠀⠀ 𐄪 ⠀⠀ ◊𖧋◊◯◊𖧋◊⠀⠀  ⚪  ⠀⠀◊𖧋◊◯◊𖧋◊ ⠀⠀ 𐄪 ⠀⠀ .GHX index 8e7e0136..f7140020 100644 --- a/𖣠⚪ᗩ∣ↀ∣𒟚⚪𔗢⚪🞋⚪𔗢⚪𒟚∣ↀ∣ᗩ⚪𖣠/𖣠⚪✀Ꭵᗩ⚪𔗢⚪🞋⚪𔗢⚪ᗩᎥ✀⚪𖣠/𖣠⚪ᗱᗎᎥᗩᗯ✀ꗳⓄᔓᔕ⚪𔗢⚪🞋⚪𔗢⚪ᔓᔕⓄꗳ✀ᗯᗩᎥᗱᗎ⚪𖣠/𖣠⚪ᕭᕮᗩНߊᗱᗎᙏᕭᕮⓄߊ✀⚪𔗢⚪🞋⚪𔗢⚪✀ߊⓄᕭᕮᙏᗱᗎߊНᗩᕭᕮ⚪𖣠/𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/XHê“š. ⠀⠀ 𐄪 ⠀⠀ ◊𖧋◊◯◊𖧋◊⠀⠀  ⚪  ⠀⠀◊𖧋◊◯◊𖧋◊ ⠀⠀ 𐄪 ⠀⠀ .GHX +++ b/𖣠⚪ᗩ∣ↀ∣𒟚⚪𔗢⚪🞋⚪𔗢⚪𒟚∣ↀ∣ᗩ⚪𖣠/𖣠⚪✀Ꭵᗩ⚪𔗢⚪🞋⚪𔗢⚪ᗩᎥ✀⚪𖣠/𖣠⚪ᗱᗎᎥᗩᗯ✀ꗳⓄᔓᔕ⚪𔗢⚪🞋⚪𔗢⚪ᔓᔕⓄꗳ✀ᗯᗩᎥᗱᗎ⚪𖣠/𖣠⚪ᕭᕮᗩНߊᗱᗎᙏᕭᕮⓄߊ✀⚪𔗢⚪🞋⚪𔗢⚪✀ߊⓄᕭᕮᙏᗱᗎߊНᗩᕭᕮ⚪𖣠/𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/XHê“š. ⠀⠀ 𐄪 ⠀⠀ ◊𖧋◊◯◊𖧋◊⠀⠀  ⚪  ⠀⠀◊𖧋◊◯◊𖧋◊ ⠀⠀ 𐄪 ⠀⠀ .GHX @@ -37,7 +37,7 @@ 638665177756704920 - XHê“š..GHX + XHê“š. ⠀⠀  ⠀⠀ ◊◊◯◊◊⠀⠀  ⚪  ⠀⠀◊◊◯◊◊ ⠀⠀  ⠀⠀ .ghx @@ -48,10 +48,10 @@ - -292 - 6 + -479 + -491 - 0.8122524 + 0.3368084 @@ -105,9 +105,9 @@ - 40 + 59 - + 807b86e3-be8d-4970-92b5-f8cdcb45b06b @@ -197,7 +197,7 @@ Radius of circle a0356262-715c-43ed-b1bf-d7b4e104eb48 - .5/3 + .5/3^1 Radius Radius false @@ -573,9 +573,9 @@ - 1018 + 1083 205 - 207 + 142 64 @@ -599,13 +599,13 @@ - 1020 + 1085 207 - 129 + 64 20 - 1092.5 + 1125 217 @@ -626,13 +626,13 @@ - 1020 + 1085 227 - 129 + 64 20 - 1092.5 + 1125 237 @@ -665,25 +665,26 @@ - + Scaling factor 90e19b4f-d20b-48c4-a19c-c51b3f51f7e9 Factor Factor false - 0 + 0d3da512-d38a-48a8-8b35-deaa26bce36b + 1 - 1020 + 1085 247 - 129 + 64 20 - 1092.5 + 1125 257 @@ -2307,10 +2308,9 @@ If False, each input geometry gets its own separate bounding rectangle - + 1 Cull points that are coincident within tolerance - true ac4d12a0-3904-4782-8ea8-60c9ae252843 Cull Duplicates Cull Duplicates @@ -2319,14 +2319,14 @@ If False, each input geometry gets its own separate bounding rectangle - 241 - 688 + 295 + 1248 180 64 - 368 - 720 + 422 + 1280 @@ -2345,14 +2345,14 @@ If False, each input geometry gets its own separate bounding rectangle - 243 - 690 + 297 + 1250 113 30 - 299.5 - 705 + 353.5 + 1265 @@ -2371,14 +2371,14 @@ If False, each input geometry gets its own separate bounding rectangle - 243 - 720 + 297 + 1280 113 30 - 299.5 - 735 + 353.5 + 1295 @@ -2418,14 +2418,14 @@ If False, each input geometry gets its own separate bounding rectangle - 380 - 690 + 434 + 1250 39 20 - 399.5 - 700 + 453.5 + 1260 @@ -2445,14 +2445,14 @@ If False, each input geometry gets its own separate bounding rectangle - 380 - 710 + 434 + 1270 39 20 - 399.5 - 720 + 453.5 + 1280 @@ -2472,14 +2472,14 @@ If False, each input geometry gets its own separate bounding rectangle - 380 - 730 + 434 + 1290 39 20 - 399.5 - 740 + 453.5 + 1300 @@ -3104,9 +3104,9 @@ If False, each input geometry gets its own separate bounding rectangle - 892 + 957 705 - 207 + 142 64 @@ -3130,13 +3130,13 @@ If False, each input geometry gets its own separate bounding rectangle - 894 + 959 707 - 129 + 64 20 - 966.5 + 999 717 @@ -3157,13 +3157,13 @@ If False, each input geometry gets its own separate bounding rectangle - 894 + 959 727 - 129 + 64 20 - 966.5 + 999 737 @@ -3196,25 +3196,26 @@ If False, each input geometry gets its own separate bounding rectangle - + Scaling factor e494cdab-46e8-4642-b1ee-1bb9a63b50dc Factor Factor false - 0 + 0d3da512-d38a-48a8-8b35-deaa26bce36b + 1 - 894 + 959 747 - 129 + 64 20 - 966.5 + 999 757 @@ -4337,7 +4338,7 @@ If False, each input geometry gets its own separate bounding rectangle 11 - 3.0 + 2.0 @@ -4845,9 +4846,9 @@ If False, each input geometry gets its own separate bounding rectangle - 2839 + 2834 771 - 213 + 218 104 @@ -4872,13 +4873,13 @@ If False, each input geometry gets its own separate bounding rectangle - 2841 + 2836 773 - 138 + 143 20 - 2918 + 2915.5 783 @@ -4899,13 +4900,13 @@ If False, each input geometry gets its own separate bounding rectangle - 2841 + 2836 793 - 138 + 143 20 - 2918 + 2915.5 803 @@ -4925,13 +4926,13 @@ If False, each input geometry gets its own separate bounding rectangle - 2841 + 2836 813 - 138 + 143 20 - 2918 + 2915.5 823 @@ -4949,7 +4950,7 @@ If False, each input geometry gets its own separate bounding rectangle - 729 + 1458 @@ -4971,13 +4972,13 @@ If False, each input geometry gets its own separate bounding rectangle - 2841 + 2836 833 - 138 + 143 20 - 2918 + 2915.5 843 @@ -4995,7 +4996,7 @@ If False, each input geometry gets its own separate bounding rectangle - 729 + 1458 @@ -5017,13 +5018,13 @@ If False, each input geometry gets its own separate bounding rectangle - 2841 + 2836 853 - 138 + 143 20 - 2918 + 2915.5 863 @@ -5182,11 +5183,10 @@ For an accurate preview use the in canvas viewer components - + Applies a Solid Fill color to a Shape true 45f8fb1e-8a01-4109-9341-f9510103cc7c - true Solid Fill Solid Fill @@ -5206,10 +5206,9 @@ For an accurate preview use the in canvas viewer components - + A Graphic Plus Shape, or a Curve, Brep, Mesh f9a8dd4f-f2ae-44bf-9d4b-b0e03a0fd9cb - true 1 Shape / Geometry Shape / Geometry @@ -5235,10 +5234,9 @@ For an accurate preview use the in canvas viewer components - + The solid fill Color 6b820e62-af83-4c81-8280-78d37be4e0e1 - true Color Color true @@ -5284,11 +5282,10 @@ For an accurate preview use the in canvas viewer components - + A Graphic Plus Shape Object true 63cc0add-af3e-423e-a0a8-77ea90a51ac3 - true Shape Shape false @@ -5583,8 +5580,9 @@ For an accurate preview use the in canvas viewer components - + Merge a bunch of data streams + true 29706602-00d8-462a-9a22-eb2d7d3d879b Merge Merge @@ -5756,8 +5754,8 @@ Note: Right click on the component to save the image or svg 3351 425 - 729 - 773 + 1458 + 1502 3529 @@ -5880,7 +5878,7 @@ Note: Right click on the component to save the image or svg Shape / Geometry Shape / Geometry false - 4614899c-2ed3-4173-a38d-18251a950b5d + 63cc0add-af3e-423e-a0a8-77ea90a51ac3 1 @@ -6475,9 +6473,9 @@ Note: Right click on the component to save the image or svg - 932 + 997 1028 - 207 + 142 64 @@ -6501,13 +6499,13 @@ Note: Right click on the component to save the image or svg - 934 + 999 1030 - 129 + 64 20 - 1006.5 + 1039 1040 @@ -6528,13 +6526,13 @@ Note: Right click on the component to save the image or svg - 934 + 999 1050 - 129 + 64 20 - 1006.5 + 1039 1060 @@ -6567,25 +6565,26 @@ Note: Right click on the component to save the image or svg - + Scaling factor 43b0518a-e12a-42fe-9aef-b438b98bbdcd Factor Factor false - 0 + 0d3da512-d38a-48a8-8b35-deaa26bce36b + 1 - 934 + 999 1070 - 129 + 64 20 - 1006.5 + 1039 1080 @@ -6675,8 +6674,9 @@ Note: Right click on the component to save the image or svg - + Scale an object uniformly in all directions. + true d1f4f850-204f-40c5-afa3-b42f3ea81397 true Scale @@ -7210,8 +7210,9 @@ Note: Right click on the component to save the image or svg - + Applies a Radial Gradient Fill to a Shape + true 62cb270c-e915-43a0-8913-c76e62fad043 Gradient Radial Fill Gradient Radial Fill @@ -7398,6 +7399,3505 @@ Note: Right click on the component to save the image or svg + + + 78fed580-851b-46fe-af2f-6519a9d378e0 + Power + + + + + Raise a value to a power. + true + c47b142c-6dca-49a0-a7ee-5476f8aca556 + Power + Power + + + + + + 957 + 451 + 85 + 44 + + + 997 + 473 + + + + + + The item to be raised + 318f77c1-2255-4d8a-8d10-23ea73829d7b + A + A + false + 0 + + + + + + 959 + 453 + 26 + 20 + + + 972 + 463 + + + + + + 1 + + + + + 1 + {0} + + + + + Grasshopper.Kernel.Types.GH_String + false + 3 + + + + + + + + + + + The exponent + db84b7db-5d01-4618-9f25-778b1f663875 + B + B + false + 0 + + + + + + 959 + 473 + 26 + 20 + + + 972 + 483 + + + + + + 1 + + + + + 1 + {0} + + + + + Grasshopper.Kernel.Types.GH_String + false + -1 + + + + + + + + + + + A raised to the B power + 0d3da512-d38a-48a8-8b35-deaa26bce36b + Result + Result + false + 0 + + + + + + 1009 + 453 + 31 + 40 + + + 1024.5 + 473 + + + + + + + + + + + + d93100b6-d50b-40b2-831a-814659dc38e3 + Rectangle + + + + + Create a rectangle on a plane + true + c0aa177c-dfeb-400c-88eb-7dac02413e3c + Rectangle + Rectangle + + + + + + 2615 + 957 + 193 + 101 + + + 2746 + 1008 + + + + + + Rectangle base plane + 975cb575-3bb9-4aa6-8edb-c94705b5f97f + Plane + Plane + false + 0 + + + + + + 2617 + 959 + 117 + 37 + + + 2675.5 + 977.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + + + + + + + + + + + + Dimensions of rectangle in plane X direction. + 2d052714-a488-4dd8-ad8c-ea47d95bef56 + X Size + X Size + false + 0 + + + + + + 2617 + 996 + 117 + 20 + + + 2675.5 + 1006 + + + + + + 1 + + + + + 1 + {0} + + + + + + -1 + 1 + + + + + + + + + + + + Dimensions of rectangle in plane Y direction. + 9d5f1af7-a8fc-4b51-be4e-32941dac6ef0 + Y Size + Y Size + false + 0 + + + + + + 2617 + 1016 + 117 + 20 + + + 2675.5 + 1026 + + + + + + 1 + + + + + 1 + {0} + + + + + + -2 + 2 + + + + + + + + + + + + Rectangle corner fillet radius + 1a06d79f-4776-4a68-833a-9c99cb25e7da + Radius + Radius + false + 0 + + + + + + 2617 + 1036 + 117 + 20 + + + 2675.5 + 1046 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + Rectangle + 96b4f69b-3981-4224-96fb-46cb49f7543a + Rectangle + Rectangle + false + 0 + + + + + + 2758 + 959 + 48 + 48 + + + 2782 + 983.25 + + + + + + + + Length of rectangle curve + 13d5b212-6a2f-44b1-99e9-67e4cf4c89ea + Length + Length + false + 0 + + + + + + 2758 + 1007 + 48 + 49 + + + 2782 + 1031.75 + + + + + + + + + + + + 4d2a06bd-4b0f-4c65-9ee0-4220e4c01703 + Scale + + + + + Scale an object uniformly in all directions. + true + e4a9cd12-c791-49e0-8876-117b0d8a2d74 + Scale + Scale + + + + + + 883 + 1574 + 142 + 64 + + + 961 + 1606 + + + + + + Base geometry + bcc923eb-3b41-4607-8192-3f23fccb7946 + 2 + Geometry + Geometry + true + b8cf0dae-b22e-4bcc-bb55-b015a4912595 + 1 + + + + + + 885 + 1576 + 64 + 20 + + + 925 + 1586 + + + + + + + + Center of scaling + 16ba81e6-5f17-4311-a4b4-9e5805d797dc + Center + Center + false + bb25842a-ab8f-48fe-8471-7d81ea1f2c63 + 1 + + + + + + 885 + 1596 + 64 + 20 + + + 925 + 1606 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + Scaling factor + 53f7d0e5-b956-4c47-9e2d-83f7b857bb5e + Factor + Factor + false + 0d3da512-d38a-48a8-8b35-deaa26bce36b + 1 + + + + + + 885 + 1616 + 64 + 20 + + + 925 + 1626 + + + + + + 1 + + + + + 1 + {0} + + + + + 0.33333333333333331 + + + + + + + + + + + Scaled geometry + d850942e-fb11-446f-884c-210475a60dfc + Geometry + Geometry + false + 0 + + + + + + 973 + 1576 + 50 + 30 + + + 998 + 1591 + + + + + + + + Transformation data + e907b175-428a-496e-915b-270b93f9887a + Transform + Transform + false + 0 + + + + + + 973 + 1606 + 50 + 30 + + + 998 + 1621 + + + + + + + + + + + + 7cd2f235-466e-4d30-bd3c-3b9573ac7dda + 4442bb24-c702-460c-a1e4-fcdd321eb886 + Fast Loop Start + + + + + Loop Start + true + 17a12bef-e2a1-438a-bb7c-4ba8c61ac127 + Fast Loop Start + Fast Loop Start + + + + + + 614 + 1523 + 112 + 64 + + + 673 + 1555 + + + + + + 2 + 2e3ab970-8545-46bb-836c-1c11e5610bce + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 3 + 6cc73910-22ac-4eb4-882b-eb9d63b8f3c2 + 2e3ab970-8545-46bb-836c-1c11e5610bce + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + Loop iterations + 8a3b630c-8af7-4f96-bef9-b876f8e9bc0c + Iterations + Iterations + false + d60ce5c0-f290-43df-8a04-3d7455f3b4c7 + 1 + + + + + + 616 + 1525 + 45 + 30 + + + 638.5 + 1540 + + + + + + 1 + + + + + 1 + {0} + + + + + 3 + + + + + + + + + + + 2 + Data to loop + 12ea92cd-c50d-4abf-a5ec-4c860dea7702 + Data + Data + true + 6965241c-3dd6-415f-a0c7-f5781d75c6a3 + 1 + + + + + + 616 + 1555 + 45 + 30 + + + 638.5 + 1570 + + + + + + + + Connect to Loop End + d4cc40af-262d-48f4-a246-30fc3982b1a8 + > + > + false + 0 + + + + + + 685 + 1525 + 39 + 20 + + + 704.5 + 1535 + + + + + + + + Counter + b70c844f-e73c-4a5c-88ee-82a70eb39a91 + Counter + Counter + false + 0 + + + + + + 685 + 1545 + 39 + 20 + + + 704.5 + 1555 + + + + + + + + 2 + Data to loop + b8cf0dae-b22e-4bcc-bb55-b015a4912595 + Data + Data + false + 0 + + + + + + 685 + 1565 + 39 + 20 + + + 704.5 + 1575 + + + + + + + + + + + + + + 4e5b891f-3e8d-4b3d-b677-996c63b3ac70 + 4442bb24-c702-460c-a1e4-fcdd321eb886 + Fast Loop End + + + + + Loop End + true + 9d7c1dd7-ba2b-4a25-bc4d-15228a2931a0 + Fast Loop End + Fast Loop End + true + 0 + + + + + + 1070 + 1523 + 104 + 64 + + + 1119 + 1555 + + + + + + 3 + 6cc73910-22ac-4eb4-882b-eb9d63b8f3c2 + cb95db89-6165-43b6-9c41-5702bc5bf137 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + Connect to Loop Start + 29893a75-43e6-47eb-8eb8-deef3cdc5f09 + < + < + false + d4cc40af-262d-48f4-a246-30fc3982b1a8 + 1 + + + + + + 1072 + 1525 + 35 + 20 + + + 1089.5 + 1535 + + + + + + + + Set to true to exit the loop + 1cade880-9324-4bdd-81df-e5ee7d15cc4d + Exit + Exit + true + 0 + + + + + + 1072 + 1545 + 35 + 20 + + + 1089.5 + 1555 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 2 + Data to loop + 5fafaa40-2350-4891-b56c-2b38729e0c10 + Data + Data + false + d850942e-fb11-446f-884c-210475a60dfc + 1 + + + + + + 1072 + 1565 + 35 + 20 + + + 1089.5 + 1575 + + + + + + + + 2 + Data to loop + 8ca74bb4-8ddd-4f05-a50a-f4b7212ea39c + 1 + Data + Data + false + 0 + + + + + + 1131 + 1525 + 41 + 60 + + + 1143.5 + 1555 + + + + + + + + + + + + + + 4d2a06bd-4b0f-4c65-9ee0-4220e4c01703 + Scale + + + + + Scale an object uniformly in all directions. + true + bff9d3a9-b0cd-4012-a496-3775dbd2e0e8 + Scale + Scale + + + + + + 549 + 1621 + 233 + 64 + + + 702 + 1653 + + + + + + Base geometry + f97676c9-f65a-42d5-8f6c-800c98cc461c + 1 + Geometry + Geometry + true + fc16fe36-f473-4c66-a556-02a0e073879f + 1 + + + + + + 551 + 1623 + 139 + 20 + + + 628.5 + 1633 + + + + + + + + Center of scaling + e76a63b9-a44f-441e-b2ae-4f19981193d5 + Center + Center + false + 0 + + + + + + 551 + 1643 + 139 + 20 + + + 628.5 + 1653 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + Scaling factor + 3b767d12-e91d-416d-b5da-8da3f855dd9a + 2^16 + Factor + Factor + false + 0 + + + + + + 551 + 1663 + 139 + 20 + + + 628.5 + 1673 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Scaled geometry + bb25842a-ab8f-48fe-8471-7d81ea1f2c63 + 1 + Geometry + Geometry + false + 0 + + + + + + 714 + 1623 + 66 + 30 + + + 739 + 1638 + + + + + + + + Transformation data + 321f23c7-58f7-4860-b1ad-7aed5300748f + Transform + Transform + false + 0 + + + + + + 714 + 1653 + 66 + 30 + + + 739 + 1668 + + + + + + + + + + + + 33bcf975-a0b2-4b54-99fd-585c893b9e88 + Digit Scroller + + + + + Numeric scroller for single numbers + d60ce5c0-f290-43df-8a04-3d7455f3b4c7 + Digit Scroller + + false + 0 + + + + + 12 + + 11 + + 4.0 + + + + + + 531 + 1486 + 250 + 20 + + + 531.5851 + 1486.698 + + + + + + + + + + 4d2a06bd-4b0f-4c65-9ee0-4220e4c01703 + Scale + + + + + Scale an object uniformly in all directions. + 186993bd-890c-4518-8cbe-0c71d27c9c73 + Scale + Scale + + + + + + 1340 + 1536 + 217 + 64 + + + 1493 + 1568 + + + + + + Base geometry + fc42cba2-fd5b-4f60-baca-df55e0a8e871 + 1 + Geometry + Geometry + true + cad9e190-f7aa-46c7-ad49-bee4bd01460f + 1 + + + + + + 1342 + 1538 + 139 + 20 + + + 1419.5 + 1548 + + + + + + + + Center of scaling + 953d179b-165f-4868-add8-5eb3268c80d7 + Center + Center + false + 0 + + + + + + 1342 + 1558 + 139 + 20 + + + 1419.5 + 1568 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + Scaling factor + ef243f41-64a1-44e6-886e-1b17202ca435 + 1/2^16 + Factor + Factor + false + 0 + + + + + + 1342 + 1578 + 139 + 20 + + + 1419.5 + 1588 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Scaled geometry + 752ed00e-5e42-4346-88d3-173cca7ed7d6 + Geometry + Geometry + false + 0 + + + + + + 1505 + 1538 + 50 + 30 + + + 1530 + 1553 + + + + + + + + Transformation data + 765f128d-107f-4d6d-bbee-5b48e672cd94 + Transform + Transform + false + 0 + + + + + + 1505 + 1568 + 50 + 30 + + + 1530 + 1583 + + + + + + + + + + + + 4d2a06bd-4b0f-4c65-9ee0-4220e4c01703 + Scale + + + + + Scale an object uniformly in all directions. + true + 74881365-811d-4e14-b795-f7ae4f39223c + Scale + Scale + + + + + + 269 + 1586 + 217 + 64 + + + 422 + 1618 + + + + + + Base geometry + ec8f537f-098e-44f2-9cf6-9ec480777b13 + 1 + Geometry + Geometry + true + c293d551-d39c-45b3-bfdd-da3c2a3e51f2 + 1 + + + + + + 271 + 1588 + 139 + 20 + + + 348.5 + 1598 + + + + + + + + Center of scaling + b4f6aaa7-7f1e-475b-86ae-89cb149b0484 + Center + Center + false + 0 + + + + + + 271 + 1608 + 139 + 20 + + + 348.5 + 1618 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + Scaling factor + fd895444-3c39-4ac2-a91f-8a5e8738df72 + 2^16 + Factor + Factor + false + 0 + + + + + + 271 + 1628 + 139 + 20 + + + 348.5 + 1638 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Scaled geometry + 6965241c-3dd6-415f-a0c7-f5781d75c6a3 + Geometry + Geometry + false + 0 + + + + + + 434 + 1588 + 50 + 30 + + + 459 + 1603 + + + + + + + + Transformation data + 374fb6c6-7bc2-4253-8410-52596fd3e659 + Transform + Transform + false + 0 + + + + + + 434 + 1618 + 50 + 30 + + + 459 + 1633 + + + + + + + + + + + + 030b487b-a566-476f-96a4-a0ae2ad283af + a48ac930-c378-48dc-84da-26b2af9d8302 + Stroke + + + + + Applies Stroke properties to a Shape + true + 27655b94-986f-47a6-902d-616818a2ce2f + Stroke + Stroke + + + + + + 1554 + 1659 + 200 + 104 + + + 1708 + 1711 + + + + + + A Graphic Plus Shape, or a Curve, Brep, Mesh + 3473be72-6f9e-498f-845c-33fbab7807c1 + 1 + Shape / Geometry + Shape / Geometry + false + 752ed00e-5e42-4346-88d3-173cca7ed7d6 + 1 + + + + + + 1556 + 1661 + 140 + 20 + + + 1634 + 1671 + + + + + + + + The stroke color + 909a59bd-eca4-4a2f-ae88-0c9c1d645f82 + Color + Color + true + 0 + + + + + + 1556 + 1681 + 140 + 20 + + + 1634 + 1691 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0;0;0;0 + + + + + + + + + + + + The stroke weight + bafcb6ff-d5d1-4771-b036-569e9d71863b + Weight + Weight + true + 0 + + + + + + 1556 + 1701 + 140 + 20 + + + 1634 + 1711 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + 1 + The stroke pattern + 1dc3eed5-6abc-47eb-89a3-d1a5b9bf0a6d + Pattern + Pattern + true + 0 + + + + + + 1556 + 1721 + 140 + 20 + + + 1634 + 1731 + + + + + + + + The shape to be used at the end of open path + 9b9cdcdc-9378-4a1b-80c7-ddf61c9f05fc + End Cap + End Cap + true + 0 + + + + + + 1556 + 1741 + 140 + 20 + + + 1634 + 1751 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + A Graphic Plus Shape Object + true + 2672e5eb-94ef-4296-8c1f-d02fd4b68272 + Shape + Shape + false + 0 + + + + + + 1720 + 1661 + 32 + 100 + + + 1736 + 1711 + + + + + + + + + + + + f3220ce3-0aeb-41b4-bfb9-435838423791 + a48ac930-c378-48dc-84da-26b2af9d8302 + Construct Drawing + + + + + Constructs a Drawing from a list of Shapes + true + df8bfd73-38ad-4eab-9fdd-537a164e77a1 + Construct Drawing + Construct Drawing + + + + + + 2260 + 1818 + 218 + 104 + + + 2417 + 1870 + + + + + + 1 + A list of Graphic Plus Shapes, or Curves, Breps, Meshes + c2302bc5-e2c5-4902-8c07-e093f9d9621d + 1 + Shapes / Geometry + Shapes / Geometry + false + dfde566a-fbdc-4bd7-8bde-7170a5ee11ee + 1 + + + + + + 2262 + 1820 + 143 + 20 + + + 2341.5 + 1830 + + + + + + + + An optional frame for the drawing. If blank, the shapes bounding box will be used + c5c0241e-8d87-44fe-a2cd-c1051c73f7c4 + Boundary + Boundary + true + 63608f97-c101-49cd-a4d0-aeb648f46ce7 + 1 + + + + + + 2262 + 1840 + 143 + 20 + + + 2341.5 + 1850 + + + + + + + + The width of the output drawing + 04f03ad7-9ea3-4d82-ab62-8888826bf3de + Width + Width + true + 0 + + + + + + 2262 + 1860 + 143 + 20 + + + 2341.5 + 1870 + + + + + + 1 + + + + + 1 + {0} + + + + + 1458 + + + + + + + + + + + The height of the output drawing + 1916e7be-994b-4d77-8dfa-ffcd3e8f10a1 + Height + Height + true + 0 + + + + + + 2262 + 1880 + 143 + 20 + + + 2341.5 + 1890 + + + + + + 1 + + + + + 1 + {0} + + + + + 1458 + + + + + + + + + + + An optional background color + 07a186d2-c0fb-4999-8081-de9c0c58ca59 + Color + Color + true + 0 + + + + + + 2262 + 1900 + 143 + 20 + + + 2341.5 + 1910 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0;255;255;255 + + + + + + + + + + + + A Graphic Plus Drawing Object + 1417c1c6-95db-45d0-a97c-4cb22280ce29 + Drawing + Drawing + false + 0 + + + + + + 2429 + 1820 + 47 + 50 + + + 2452.5 + 1845 + + + + + + + + The bounding rectangle + 09792e08-9fd6-4d11-a713-444628f27509 + Boundary + Boundary + false + 0 + + + + + + 2429 + 1870 + 47 + 50 + + + 2452.5 + 1895 + + + + + + + + + + + + 35f36ea6-aee3-498e-9aaf-6028fed9e74f + a48ac930-c378-48dc-84da-26b2af9d8302 + Shape Preview Beta + + + + + A beta fill and stroke preview in Rhino. +WARNING: This does not reflect most of the graphic settings in Graphic Plus. +For an accurate preview use the in canvas viewer components + true + 7f9fed6b-94f0-42ae-b9b8-9684f06f3894 + true + Shape Preview Beta + Shape Preview Beta + + + + + + 2039 + 1707 + 177 + 28 + + + 2202 + 1721 + + + + + + 1 + A list of Graphic Plus Drawing, Shapes, or Geometry (Curves, Breps, Meshes). + 1de603f3-a392-4723-a5d7-8e97ef82efc2 + true + Drawings / Shapes / Geometry + Drawings / Shapes / Geometry + false + e9cd17c7-1b41-4712-9f87-90fa45644278 + 1 + + + + + + 2041 + 1709 + 149 + 24 + + + 2115.5 + 1721 + + + + + + + + + + + + 5881d944-0281-4fc8-b203-ce6a55dbf2a6 + a48ac930-c378-48dc-84da-26b2af9d8302 + Solid Fill + + + + + Applies a Solid Fill color to a Shape + true + 6e5822d1-d6b5-43b9-a0ce-fe2e490dd679 + Solid Fill + Solid Fill + + + + + + 1812 + 1699 + 178 + 44 + + + 1944 + 1721 + + + + + + A Graphic Plus Shape, or a Curve, Brep, Mesh + 2e96a69f-07c8-4bf8-837f-c18455d42279 + 1 + Shape / Geometry + Shape / Geometry + false + 2672e5eb-94ef-4296-8c1f-d02fd4b68272 + 1 + + + + + + 1814 + 1701 + 118 + 20 + + + 1881 + 1711 + + + + + + + + The solid fill Color + ecbaed8c-46e3-4ff9-bb55-bf4fc74a7944 + Color + Color + true + 0 + + + + + + 1814 + 1721 + 118 + 20 + + + 1881 + 1731 + + + + + + 1 + + + + + 1 + {0} + + + + + + 255;0;244;124 + + + + + + + + + + + + A Graphic Plus Shape Object + true + e9cd17c7-1b41-4712-9f87-90fa45644278 + Shape + Shape + false + 0 + + + + + + 1956 + 1701 + 32 + 40 + + + 1972 + 1721 + + + + + + + + + + + + e6d4e3dd-2058-40b0-958a-53b8bb6c13ae + a48ac930-c378-48dc-84da-26b2af9d8302 + Save Svg + + + + + Save a SVG file of a Drawing. + true + 40b20064-f352-4264-83d3-482cda10f7f7 + Save Svg + Save Svg + + + + + + 2521 + 1833 + 238 + 84 + + + 2706 + 1875 + + + + + + 1 + A list of Graphic Plus Drawing, Shapes, or Geometry (Curves, Breps, Meshes). + 34d93dc1-9c99-4dcf-a05f-57ea91347cd6 + Drawings / Shapes / Geometry + Drawings / Shapes / Geometry + false + 1417c1c6-95db-45d0-a97c-4cb22280ce29 + 1 + + + + + + 2523 + 1835 + 171 + 20 + + + 2608.5 + 1845 + + + + + + + + The folderpath to save the file + 3e0604ff-b4ab-4c0c-910e-721657db64a2 + Folder Path + Folder Path + true + 0 + + + + + + 2523 + 1855 + 171 + 20 + + + 2608.5 + 1865 + + + + + + 1 + + + + + 1 + {0} + + + + + false + C:\ + + + + + + + + + + + The filename for the Svg export + f52c3cc2-80af-4115-b9b7-474e6c24aa9c + File Name + File Name + true + 0 + + + + + + 2523 + 1875 + 171 + 20 + + + 2608.5 + 1885 + + + + + + 1 + + + + + 1 + {0} + + + + + false + ϱvÆš + + + + + + + + + + + If true, the new file will be written or overwritten + 3857868a-bdb5-41e1-b6ad-02393062cb26 + Save + Save + true + a9a8222d-967c-4298-91db-92222710f4a1 + 1 + + + + + + 2523 + 1895 + 171 + 20 + + + 2608.5 + 1905 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + The full path to the new file + 8a0debc6-82ae-4750-93c5-3cfc3738cef9 + Filepath + Filepath + false + 0 + + + + + + 2718 + 1835 + 39 + 80 + + + 2737.5 + 1875 + + + + + + + + + + + + a8b97322-2d53-47cd-905e-b932c3ccd74e + Button + + + + + Button object with two values + False + True + a9a8222d-967c-4298-91db-92222710f4a1 + Button + + false + 0 + + + + + + 2592 + 1954 + 70 + 22 + + + + + + + + + + fc076e15-dcb0-4d11-bf04-f5c79fc3d200 + a48ac930-c378-48dc-84da-26b2af9d8302 + Drawing Viewer + + + + + Preview a Drawing in canvas. +Note: Right click on the component to save the image or svg + true + cf0cb611-0462-4ed2-8dd5-1bb922c331ac + Drawing Viewer + Drawing Viewer + + + + + + 1636 + 2169 + 1458 + 1502 + + + 1814 + 2191 + + + + + + 1 + A list of Graphic Plus Drawing, Shapes, or Geometry (Curves, Breps, Meshes). + b8d5d137-3d4d-4e1a-9d43-c03b7d8f5a37 + Drawings / Shapes / Geometry + Drawings / Shapes / Geometry + false + 1417c1c6-95db-45d0-a97c-4cb22280ce29 + 1 + + + + + + 1638 + 2171 + 164 + 20 + + + 1720 + 2181 + + + + + + + + The PPI (Pixels Per Inch) resolution for the image which must be greater than or equal to 72. + 406012bc-5f84-4538-aa21-b3ce382fbc7e + Resolution + Resolution + true + 0 + + + + + + 1638 + 2191 + 164 + 20 + + + 1720 + 2201 + + + + + + 1 + + + + + 1 + {0} + + + + + 96 + + + + + + + + + + + + + + + 7eea3a07-f271-4f6b-8c9d-1ddc9b1fd002 + a48ac930-c378-48dc-84da-26b2af9d8302 + Shape Data + + + + + Optionally override Id and add a series of data items to a Shape. + true + c45c7a5c-a130-4da8-bfa9-6277d587c1cb + Shape Data + Shape Data + + + + + + 2043 + 1778 + 165 + 104 + + + 2162 + 1830 + + + + + + A Graphic Plus Shape, or a Curve, Brep, Mesh + f272493a-0450-4b42-af0f-4f56913d8d4d + Shape / Geometry + Shape / Geometry + false + e9cd17c7-1b41-4712-9f87-90fa45644278 + 1 + + + + + + 2045 + 1780 + 105 + 20 + + + 2097.5 + 1790 + + + + + + + + An optional id override +(Note: If overriding this property every value should be unique) + 17d72270-e922-4936-a5ca-1710f0040bd9 + ID + ID + true + 0 + + + + + + 2045 + 1800 + 105 + 20 + + + 2097.5 + 1810 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + + 1 + A list of titles to be added to the SVG element as data-'key' + cf3ada59-4ac1-4aa2-8982-89f8f2835edb + Keys + Keys + true + 0 + + + + + + 2045 + 1820 + 105 + 20 + + + 2097.5 + 1830 + + + + + + + + 1 + The values coordinated with the titles to attach to the element + cb01fd09-56ea-406f-a8dc-5fca9a7364df + Values + Values + true + 0 + + + + + + 2045 + 1840 + 105 + 20 + + + 2097.5 + 1850 + + + + + + + + If true the key value pairs will be displayed when the mouse overs over the shape + ab502b31-f7be-450b-a101-50d95a52e505 + Hover + Hover + true + 0 + + + + + + 2045 + 1860 + 105 + 20 + + + 2097.5 + 1870 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + A Graphic Plus Shape Object + true + dfde566a-fbdc-4bd7-8bde-7170a5ee11ee + Shape + Shape + false + 0 + + + + + + 2174 + 1780 + 32 + 100 + + + 2190 + 1830 + + + + + + + + + + + + 3cadddef-1e2b-4c09-9390-0e8f78f7609f + Merge + + + + + Merge a bunch of data streams + 11513c45-aba7-4c15-a3b1-3a4fec0f96bc + Merge + Merge + + + + + + 1189 + 1549 + 106 + 64 + + + 1234 + 1581 + + + + + + 3 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 2 + Data stream 1 + 5ae9c94a-f581-4a94-8c76-4ebbf455dc07 + false + Data 1 + D1 + true + 6965241c-3dd6-415f-a0c7-f5781d75c6a3 + 1 + + + + + + 1191 + 1551 + 31 + 20 + + + 1206.5 + 1561 + + + + + + + + 2 + Data stream 2 + b3bc3a86-e35c-4d5f-a212-8d7e36de91ab + false + Data 2 + D2 + true + 8ca74bb4-8ddd-4f05-a50a-f4b7212ea39c + 1 + + + + + + 1191 + 1571 + 31 + 20 + + + 1206.5 + 1581 + + + + + + + + 2 + Data stream 3 + 0f130c92-d883-4383-8461-8cf2f2136d23 + false + Data 3 + D3 + true + 0 + + + + + + 1191 + 1591 + 31 + 20 + + + 1206.5 + 1601 + + + + + + + + 2 + Result of merge + cad9e190-f7aa-46c7-ad49-bee4bd01460f + 1 + Result + Result + false + 0 + + + + + + 1246 + 1551 + 47 + 60 + + + 1261.5 + 1581 + + + + + + + + + + + + + + 575660b1-8c79-4b8d-9222-7ab4a6ddb359 + Rectangle 2Pt + + + + + Create a rectangle from a base plane and two points + a4ac0b4d-f99e-4822-8915-7b98cf7c9223 + Rectangle 2Pt + Rectangle 2Pt + + + + + + 1991 + 2045 + 199 + 101 + + + 2128 + 2096 + + + + + + Rectangle base plane + 9020023f-03b2-4eda-91ef-f7e01ea2dc54 + Plane + Plane + false + 0 + + + + + + 1993 + 2047 + 123 + 37 + + + 2054.5 + 2065.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + + + + + + + + + + + + First corner point. + e5ad6f9c-e619-42ae-a5b1-471dd967109d + Point A + Point A + false + 0 + + + + + + 1993 + 2084 + 123 + 20 + + + 2054.5 + 2094 + + + + + + 1 + + + + + 1 + {0} + + + + + + + -0.5 + -0.5 + 0 + + + + + + + + + + + + Second corner point. + 022c1121-e634-49a5-b9a4-403b8f4183a0 + Point B + Point B + false + 0 + + + + + + 1993 + 2104 + 123 + 20 + + + 2054.5 + 2114 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0.5 + 0.5 + 0 + + + + + + + + + + + + Rectangle corner fillet radius + 6d50ac2c-981d-4faf-acfc-a6914db79388 + Radius + Radius + false + 0 + + + + + + 1993 + 2124 + 123 + 20 + + + 2054.5 + 2134 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + Rectangle defined by P, A and B + 63608f97-c101-49cd-a4d0-aeb648f46ce7 + Rectangle + Rectangle + false + 0 + + + + + + 2140 + 2047 + 48 + 48 + + + 2164 + 2071.25 + + + + + + + + Length of rectangle curve + 465ef10d-4f4f-4f4d-9976-d4c9840b2134 + Length + Length + false + 0 + + + + + + 2140 + 2095 + 48 + 49 + + + 2164 + 2119.75 + + + + + + + + + @@ -7405,7 +10905,7 @@ Note: Right click on the component to save the image or svg - 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 diff --git a/𖣠⚪ᗩ∣ↀ∣𒟚⚪𔗢⚪🞋⚪𔗢⚪𒟚∣ↀ∣ᗩ⚪𖣠/𖣠⚪✀Ꭵᗩ⚪𔗢⚪🞋⚪𔗢⚪ᗩᎥ✀⚪𖣠/𖣠⚪ᗱᗎᎥᗩᗯ✀ꗳⓄᔓᔕ⚪𔗢⚪🞋⚪𔗢⚪ᔓᔕⓄꗳ✀ᗯᗩᎥᗱᗎ⚪𖣠/𖣠⚪ᕭᕮᗩНߊᗱᗎᙏᕭᕮⓄߊ✀⚪𔗢⚪🞋⚪𔗢⚪✀ߊⓄᕭᕮᙏᗱᗎߊНᗩᕭᕮ⚪𖣠/𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/ê“šVƧ.XHê“š. ⠀⠀ ❋➭⁘· ⠀⠀ 𐄪 ⠀⠀ ▫◻▫☐▫◻▫⠀⠀  ⬜  ⠀⠀▫◻▫☐▫◻▫ ⠀⠀ 𐄪 ⠀⠀ ·⁘➭❋ ⠀⠀ .GHX.SVG b/𖣠⚪ᗩ∣ↀ∣𒟚⚪𔗢⚪🞋⚪𔗢⚪𒟚∣ↀ∣ᗩ⚪𖣠/𖣠⚪✀Ꭵᗩ⚪𔗢⚪🞋⚪𔗢⚪ᗩᎥ✀⚪𖣠/𖣠⚪ᗱᗎᎥᗩᗯ✀ꗳⓄᔓᔕ⚪𔗢⚪🞋⚪𔗢⚪ᔓᔕⓄꗳ✀ᗯᗩᎥᗱᗎ⚪𖣠/𖣠⚪ᕭᕮᗩНߊᗱᗎᙏᕭᕮⓄߊ✀⚪𔗢⚪🞋⚪𔗢⚪✀ߊⓄᕭᕮᙏᗱᗎߊНᗩᕭᕮ⚪𖣠/𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/ê“šVƧ.XHê“š. ⠀⠀ ❋➭⁘· ⠀⠀ 𐄪 ⠀⠀ ▫◻▫☐▫◻▫⠀⠀  ⬜  ⠀⠀▫◻▫☐▫◻▫ ⠀⠀ 𐄪 ⠀⠀ ·⁘➭❋ ⠀⠀ .GHX.SVG new file mode 100644 index 00000000..edeab39c --- /dev/null +++ b/𖣠⚪ᗩ∣ↀ∣𒟚⚪𔗢⚪🞋⚪𔗢⚪𒟚∣ↀ∣ᗩ⚪𖣠/𖣠⚪✀Ꭵᗩ⚪𔗢⚪🞋⚪𔗢⚪ᗩᎥ✀⚪𖣠/𖣠⚪ᗱᗎᎥᗩᗯ✀ꗳⓄᔓᔕ⚪𔗢⚪🞋⚪𔗢⚪ᔓᔕⓄꗳ✀ᗯᗩᎥᗱᗎ⚪𖣠/𖣠⚪ᕭᕮᗩНߊᗱᗎᙏᕭᕮⓄߊ✀⚪𔗢⚪🞋⚪𔗢⚪✀ߊⓄᕭᕮᙏᗱᗎߊНᗩᕭᕮ⚪𖣠/𖣠⚪ᔓᔕⓄᎥᗱᗎᑐᑕⓄИNꖎ옷Ꭵ⚪𔗢⚪🞋⚪𔗢⚪Ꭵ옷ꖎИNⓄᑐᑕᗱᗎᎥⓄᔓᔕ⚪𖣠/𖣠⚪ᎥᗱᗎߊⓄ옷ᔓᔕᗩᎥᕀᕊ⚪𔗢⚪🞋⚪𔗢⚪ᕀᕊᎥᗩᔓᔕ옷ⓄߊᗱᗎᎥ⚪𖣠/ê“šVƧ.XHê“š. ⠀⠀ ❋➭⁘· ⠀⠀ 𐄪 ⠀⠀ ▫◻▫☐▫◻▫⠀⠀  ⬜  ⠀⠀▫◻▫☐▫◻▫ ⠀⠀ 𐄪 ⠀⠀ ·⁘➭❋ ⠀⠀ .GHX.SVG @@ -0,0 +1,37455 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file