Creating Python file generator

This commit is contained in:
2026-01-27 17:33:23 -07:00
parent 048481a0c5
commit f5873acf29
5 changed files with 287 additions and 52 deletions

View File

@@ -25,6 +25,7 @@
</facets> </facets>
<external-templates /> <external-templates />
<languageVersions> <languageVersions>
<language slang="l:a452e1cf-6f8c-4bca-8447-fd4d6e4d0003:SemAnno" version="0" />
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="12" /> <language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="12" />
<language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" /> <language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" />
<language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="2" /> <language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="2" />

View File

@@ -2,14 +2,101 @@
<model ref="r:c9548ba7-bc40-4265-85dc-04a05de5ae1e(SemAnno.generator.templates@generator)"> <model ref="r:c9548ba7-bc40-4265-85dc-04a05de5ae1e(SemAnno.generator.templates@generator)">
<persistence version="9" /> <persistence version="9" />
<languages> <languages>
<use id="a452e1cf-6f8c-4bca-8447-fd4d6e4d0003" name="SemAnno" version="0" />
<use id="b401a680-8325-4110-8fd3-84331ff25bef" name="jetbrains.mps.lang.generator" version="4" />
<devkit ref="a2eb3a43-fcc2-4200-80dc-c60110c4862d(jetbrains.mps.devkit.templates)" /> <devkit ref="a2eb3a43-fcc2-4200-80dc-c60110c4862d(jetbrains.mps.devkit.templates)" />
</languages> </languages>
<imports /> <imports>
<import index="k8se" ref="r:e209a700-5f8c-468c-afcc-f38277628970(SemAnno.structure)" implicit="true" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
</imports>
<registry> <registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1137021947720" name="jetbrains.mps.baseLanguage.structure.ConceptFunction" flags="in" index="2VMwT0">
<child id="1137022507850" name="body" index="2VODD2" />
</concept>
<concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD">
<property id="1070475926801" name="value" index="Xl_RC" />
</concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1068581242875" name="jetbrains.mps.baseLanguage.structure.PlusExpression" flags="nn" index="3cpWs3" />
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
</concept>
</language>
<language id="a452e1cf-6f8c-4bca-8447-fd4d6e4d0003" name="SemAnno">
<concept id="806857647106076122" name="SemAnno.structure.TextLine" flags="ng" index="1r8ykr">
<property id="806857647106076361" name="content" index="1r8yo8" />
</concept>
<concept id="806857647106076373" name="SemAnno.structure.PythonScript" flags="ng" index="1r8yok">
<child id="806857647106076379" name="lines" index="1r8yoq" />
</concept>
</language>
<language id="b401a680-8325-4110-8fd3-84331ff25bef" name="jetbrains.mps.lang.generator"> <language id="b401a680-8325-4110-8fd3-84331ff25bef" name="jetbrains.mps.lang.generator">
<concept id="1095416546421" name="jetbrains.mps.lang.generator.structure.MappingConfiguration" flags="ig" index="bUwia" /> <concept id="1114729360583" name="jetbrains.mps.lang.generator.structure.CopySrcListMacro" flags="ln" index="2b32R4">
<child id="1168278589236" name="sourceNodesQuery" index="2P8S$" />
</concept>
<concept id="1095416546421" name="jetbrains.mps.lang.generator.structure.MappingConfiguration" flags="ig" index="bUwia">
<child id="1167328349397" name="reductionMappingRule" index="3acgRq" />
<child id="1167514678247" name="rootMappingRule" index="3lj3bC" />
</concept>
<concept id="1168559333462" name="jetbrains.mps.lang.generator.structure.TemplateDeclarationReference" flags="ln" index="j$656" />
<concept id="1168619357332" name="jetbrains.mps.lang.generator.structure.RootTemplateAnnotation" flags="lg" index="n94m4">
<reference id="1168619429071" name="applicableConcept" index="n9lRv" />
</concept>
<concept id="1095672379244" name="jetbrains.mps.lang.generator.structure.TemplateFragment" flags="ng" index="raruj" />
<concept id="1722980698497626400" name="jetbrains.mps.lang.generator.structure.ITemplateCall" flags="ngI" index="v9R3L">
<reference id="1722980698497626483" name="template" index="v9R2y" />
</concept>
<concept id="1167169188348" name="jetbrains.mps.lang.generator.structure.TemplateFunctionParameter_sourceNode" flags="nn" index="30H73N" />
<concept id="1167169308231" name="jetbrains.mps.lang.generator.structure.BaseMappingRule" flags="ng" index="30H$t8">
<reference id="1167169349424" name="applicableConcept" index="30HIoZ" />
</concept>
<concept id="1092059087312" name="jetbrains.mps.lang.generator.structure.TemplateDeclaration" flags="ig" index="13MO4I">
<reference id="1168285871518" name="applicableConcept" index="3gUMe" />
<child id="1092060348987" name="contentNode" index="13RCb5" />
</concept>
<concept id="1087833241328" name="jetbrains.mps.lang.generator.structure.PropertyMacro" flags="ln" index="17Uvod">
<child id="1167756362303" name="propertyValueFunction" index="3zH0cK" />
</concept>
<concept id="1167327847730" name="jetbrains.mps.lang.generator.structure.Reduction_MappingRule" flags="lg" index="3aamgX">
<child id="1169672767469" name="ruleConsequence" index="1lVwrX" />
</concept>
<concept id="1167514355419" name="jetbrains.mps.lang.generator.structure.Root_MappingRule" flags="lg" index="3lhOvk">
<reference id="1167514355421" name="template" index="3lhOvi" />
</concept>
<concept id="1167756080639" name="jetbrains.mps.lang.generator.structure.PropertyMacro_GetPropertyValue" flags="in" index="3zFVjK" />
<concept id="1167951910403" name="jetbrains.mps.lang.generator.structure.SourceSubstituteMacro_SourceNodesQuery" flags="in" index="3JmXsc" />
<concept id="1118786554307" name="jetbrains.mps.lang.generator.structure.LoopMacro" flags="ln" index="1WS0z7">
<child id="1167952069335" name="sourceNodesQuery" index="3Jn$fo" />
</concept>
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="1138056022639" name="jetbrains.mps.lang.smodel.structure.SPropertyAccess" flags="nn" index="3TrcHB">
<reference id="1138056395725" name="property" index="3TsBF5" />
</concept>
<concept id="1138056282393" name="jetbrains.mps.lang.smodel.structure.SLinkListAccess" flags="nn" index="3Tsc0h">
<reference id="1138056546658" name="link" index="3TtcxE" />
</concept>
</language> </language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core"> <language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<child id="5169995583184591170" name="smodelAttribute" index="lGtFl" />
</concept>
<concept id="3364660638048049750" name="jetbrains.mps.lang.core.structure.PropertyAttribute" flags="ng" index="A9Btg">
<property id="1757699476691236117" name="name_DebugInfo" index="2qtEX9" />
<property id="1341860900487648621" name="propertyId" index="P4ACc" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ngI" index="TrEIO"> <concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ngI" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" /> <property id="1169194664001" name="name" index="TrG5h" />
</concept> </concept>
@@ -17,6 +104,108 @@
</registry> </registry>
<node concept="bUwia" id="7_JEctSCWKH"> <node concept="bUwia" id="7_JEctSCWKH">
<property role="TrG5h" value="main" /> <property role="TrG5h" value="main" />
<node concept="3lhOvk" id="GMyc5g4G9C" role="3lj3bC">
<ref role="30HIoZ" to="k8se:CisPcP0y__" resolve="Script" />
<ref role="3lhOvi" node="GMyc5g4G9G" resolve="map_ScriptToPython" />
</node>
<node concept="3aamgX" id="GMyc5g4Jo4" role="3acgRq">
<ref role="30HIoZ" to="k8se:CisPcOYEky" resolve="SemanticEntity" />
<node concept="j$656" id="GMyc5g4Jo8" role="1lVwrX">
<ref role="v9R2y" node="GMyc5g4Jo6" resolve="reduce_SemanticEntity" />
</node>
</node>
<node concept="3aamgX" id="6HBlEl9FKAL" role="3acgRq">
<ref role="30HIoZ" to="k8se:CisPcOYEk$" resolve="DataComponent" />
<node concept="j$656" id="6HBlEl9Glsc" role="1lVwrX">
<ref role="v9R2y" node="6HBlEl9Glsa" resolve="reduce_DataComponent" />
</node>
</node>
</node>
<node concept="1r8yok" id="GMyc5g4G9G">
<property role="TrG5h" value="map_ScriptToPython" />
<node concept="n94m4" id="GMyc5g4G9H" role="lGtFl">
<ref role="n9lRv" to="k8se:CisPcP0y__" resolve="Script" />
</node>
<node concept="17Uvod" id="GMyc5g4G9I" role="lGtFl">
<property role="2qtEX9" value="name" />
<property role="P4ACc" value="ceab5195-25ea-4f22-9b92-103b95ca8c0c/1169194658468/1169194664001" />
<node concept="3zFVjK" id="GMyc5g4G9J" role="3zH0cK">
<node concept="3clFbS" id="GMyc5g4G9K" role="2VODD2">
<node concept="3clFbF" id="GMyc5g4Gg1" role="3cqZAp">
<node concept="2OqwBi" id="GMyc5g4G$q" role="3clFbG">
<node concept="30H73N" id="GMyc5g4Gg0" role="2Oq$k0" />
<node concept="3TrcHB" id="GMyc5g4IyS" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1r8ykr" id="7dD_UEaMNHZ" role="1r8yoq">
<node concept="1WS0z7" id="7dD_UEaMNK3" role="lGtFl">
<node concept="3JmXsc" id="7dD_UEaMNK6" role="3Jn$fo">
<node concept="3clFbS" id="7dD_UEaMNK7" role="2VODD2">
<node concept="3clFbF" id="7dD_UEaMNKd" role="3cqZAp">
<node concept="2OqwBi" id="7dD_UEaMNK8" role="3clFbG">
<node concept="3Tsc0h" id="7dD_UEaMNKb" role="2OqNvi">
<ref role="3TtcxE" to="k8se:CisPcP0y_C" resolve="entities" />
</node>
<node concept="30H73N" id="7dD_UEaMNKc" role="2Oq$k0" />
</node>
</node>
</node>
</node>
</node>
<node concept="2b32R4" id="7dD_UEaMNZF" role="lGtFl">
<node concept="3JmXsc" id="7dD_UEaMNZI" role="2P8S$">
<node concept="3clFbS" id="7dD_UEaMNZJ" role="2VODD2">
<node concept="3clFbF" id="7dD_UEaMNZP" role="3cqZAp">
<node concept="2OqwBi" id="7dD_UEaMNZK" role="3clFbG">
<node concept="3Tsc0h" id="7dD_UEaMNZN" role="2OqNvi">
<ref role="3TtcxE" to="k8se:CisPcOYEkA" resolve="components" />
</node>
<node concept="30H73N" id="7dD_UEaMNZO" role="2Oq$k0" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="13MO4I" id="GMyc5g4Jo6">
<property role="TrG5h" value="reduce_SemanticEntity" />
<ref role="3gUMe" to="k8se:CisPcOYEky" resolve="SemanticEntity" />
<node concept="1r8ykr" id="GMyc5g4Joc" role="13RCb5">
<property role="1r8yo8" value="$" />
<node concept="raruj" id="7dD_UEaLBwE" role="lGtFl" />
<node concept="17Uvod" id="7dD_UEaLDyp" role="lGtFl">
<property role="2qtEX9" value="name" />
<property role="P4ACc" value="a452e1cf-6f8c-4bca-8447-fd4d6e4d0003/806857647106076122/806857647106076361" />
<node concept="3zFVjK" id="7dD_UEaLDyq" role="3zH0cK">
<node concept="3clFbS" id="7dD_UEaLDyr" role="2VODD2">
<node concept="3clFbF" id="7dD_UEaLDCG" role="3cqZAp">
<node concept="3cpWs3" id="7dD_UEaLFnZ" role="3clFbG">
<node concept="2OqwBi" id="7dD_UEaLFSU" role="3uHU7w">
<node concept="30H73N" id="7dD_UEaLFur" role="2Oq$k0" />
<node concept="3TrcHB" id="7dD_UEaLHQk" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
<node concept="Xl_RD" id="7dD_UEaLDCF" role="3uHU7B">
<property role="Xl_RC" value=" # Entity: " />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="13MO4I" id="lVO1C_bvCC">
<property role="TrG5h" value="reduce_DataComponent" />
<ref role="3gUMe" to="k8se:CisPcOYEk$" resolve="DataComponent" />
<node concept="2VYdi" id="lVO1C_bwsV" role="13RCb5" />
</node> </node>
</model> </model>

View File

@@ -117,5 +117,11 @@
</node> </node>
</node> </node>
</node> </node>
<node concept="24kQdi" id="GMyc5g4aVc">
<ref role="1XX52x" to="k8se:GMyc5g4aRq" resolve="TextLine" />
<node concept="3F0ifn" id="GMyc5g4aVi" role="2wV5jI">
<property role="3F0ifm" value="{content}" />
</node>
</node>
</model> </model>

View File

@@ -110,5 +110,47 @@
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" /> <ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node> </node>
</node> </node>
<node concept="1TIwiD" id="GMyc5g4aRq">
<property role="EcuMT" value="806857647106076122" />
<property role="TrG5h" value="TextLine" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyi" id="GMyc5g4aV9" role="1TKVEl">
<property role="IQ2nx" value="806857647106076361" />
<property role="TrG5h" value="content" />
<ref role="AX2Wp" to="tpck:fKAOsGN" resolve="string" />
</node>
</node>
<node concept="1TIwiD" id="GMyc5g4aVl">
<property role="EcuMT" value="806857647106076373" />
<property role="TrG5h" value="PythonScript" />
<property role="19KtqR" value="true" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="PrWs8" id="GMyc5g4aVo" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="1TJgyj" id="GMyc5g4aVr" role="1TKVEi">
<property role="IQ2ns" value="806857647106076379" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="lines" />
<property role="20lbJX" value="fLJekj5/_0__n" />
<ref role="20lvS9" node="GMyc5g4aRq" resolve="TextLine" />
</node>
</node>
<node concept="1TIwiD" id="GMyc5g4aVv">
<property role="EcuMT" value="806857647106076383" />
<property role="TrG5h" value="CPPScript" />
<property role="19KtqR" value="true" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="PrWs8" id="GMyc5g4aVy" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="1TJgyj" id="GMyc5g4aV_" role="1TKVEi">
<property role="IQ2ns" value="806857647106076389" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="lines" />
<property role="20lbJX" value="fLJekj5/_0__n" />
<ref role="20lvS9" node="GMyc5g4aRq" resolve="TextLine" />
</node>
</node>
</model> </model>

View File

@@ -5,11 +5,13 @@
<use id="b83431fe-5c8f-40bc-8a36-65e25f4dd253" name="jetbrains.mps.lang.textGen" version="1" /> <use id="b83431fe-5c8f-40bc-8a36-65e25f4dd253" name="jetbrains.mps.lang.textGen" version="1" />
<use id="68015e26-cc4d-49db-8715-b643faea1769" name="jetbrains.mps.lang.test.generator" version="0" /> <use id="68015e26-cc4d-49db-8715-b643faea1769" name="jetbrains.mps.lang.test.generator" version="0" />
<use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="12" /> <use id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage" version="12" />
<use id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel" version="19" />
<devkit ref="fa73d85a-ac7f-447b-846c-fcdc41caa600(jetbrains.mps.devkit.aspect.textgen)" /> <devkit ref="fa73d85a-ac7f-447b-846c-fcdc41caa600(jetbrains.mps.devkit.aspect.textgen)" />
<devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" /> <devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
<devkit ref="2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)" /> <devkit ref="2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)" />
</languages> </languages>
<imports> <imports>
<import index="cttk" ref="r:5ff047e0-2953-4750-806a-bdc16824aa89(jetbrains.mps.smodel)" />
<import index="k8se" ref="r:e209a700-5f8c-468c-afcc-f38277628970(SemAnno.structure)" implicit="true" /> <import index="k8se" ref="r:e209a700-5f8c-468c-afcc-f38277628970(SemAnno.structure)" implicit="true" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" /> <import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
</imports> </imports>
@@ -28,13 +30,13 @@
<concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD"> <concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD">
<property id="1070475926801" name="value" index="Xl_RC" /> <property id="1070475926801" name="value" index="Xl_RC" />
</concept> </concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123157" name="jetbrains.mps.baseLanguage.structure.Statement" flags="nn" index="3clFbH" /> <concept id="1068580123157" name="jetbrains.mps.baseLanguage.structure.Statement" flags="nn" index="3clFbH" />
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS"> <concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" /> <child id="1068581517665" name="statement" index="3cqZAp" />
</concept> </concept>
<concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
<child id="1068581517676" name="expression" index="3cqZAk" />
</concept>
</language> </language>
<language id="b83431fe-5c8f-40bc-8a36-65e25f4dd253" name="jetbrains.mps.lang.textGen"> <language id="b83431fe-5c8f-40bc-8a36-65e25f4dd253" name="jetbrains.mps.lang.textGen">
<concept id="8931911391946696733" name="jetbrains.mps.lang.textGen.structure.ExtensionDeclaration" flags="in" index="9MYSb" /> <concept id="8931911391946696733" name="jetbrains.mps.lang.textGen.structure.ExtensionDeclaration" flags="in" index="9MYSb" />
@@ -179,62 +181,57 @@
</node> </node>
</node> </node>
</node> </node>
<node concept="WtQ9Q" id="CisPcP0yAa"> <node concept="WtQ9Q" id="7dD_UEaLI7H">
<ref role="WuzLi" to="k8se:CisPcP0y__" resolve="Script" /> <ref role="WuzLi" to="k8se:GMyc5g4aRq" resolve="TextLine" />
<node concept="11bSqf" id="CisPcP0yAc" role="11c4hB"> <node concept="11bSqf" id="7dD_UEaLI7J" role="11c4hB">
<node concept="3clFbS" id="CisPcP0yAd" role="2VODD2"> <node concept="3clFbS" id="7dD_UEaLI7K" role="2VODD2">
<node concept="lc7rE" id="CisPcP0yAB" role="3cqZAp"> <node concept="lc7rE" id="7dD_UEaLJAO" role="3cqZAp">
<node concept="la8eA" id="CisPcP0yB2" role="lcghm"> <node concept="l9hG8" id="7dD_UEaLJCb" role="lcghm">
<property role="lacIc" value="# Whetstone Script: " /> <node concept="2OqwBi" id="7dD_UEaMk9$" role="lb14g">
</node> <node concept="117lpO" id="7dD_UEaMjZr" role="2Oq$k0" />
</node> <node concept="3TrcHB" id="7dD_UEaMkS0" role="2OqNvi">
<node concept="lc7rE" id="CisPcP0yEI" role="3cqZAp"> <ref role="3TsBF5" to="k8se:GMyc5g4aV9" resolve="content" />
<node concept="l9hG8" id="CisPcP0yFa" role="lcghm">
<node concept="2OqwBi" id="CisPcP0yQC" role="lb14g">
<node concept="117lpO" id="CisPcP0yFF" role="2Oq$k0" />
<node concept="3TrcHB" id="CisPcP0z5K" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node> </node>
</node> </node>
</node> </node>
</node> </node>
<node concept="lc7rE" id="CisPcP0zbd" role="3cqZAp"> <node concept="lc7rE" id="7dD_UEaLIUG" role="3cqZAp">
<node concept="l8MVK" id="CisPcP0zc1" role="lcghm" /> <node concept="l8MVK" id="7dD_UEaLIVk" role="lcghm" />
</node> </node>
<node concept="lc7rE" id="CisPcP0zda" role="3cqZAp"> </node>
<node concept="l8MVK" id="CisPcP0zdY" role="lcghm" /> </node>
</node> </node>
<node concept="3clFbH" id="CisPcP0zep" role="3cqZAp" /> <node concept="WtQ9Q" id="7dD_UEaMulq">
<node concept="2Gpval" id="CisPcP0zh8" role="3cqZAp"> <ref role="WuzLi" to="k8se:GMyc5g4aVl" resolve="PythonScript" />
<node concept="2GrKxI" id="CisPcP0zha" role="2Gsz3X"> <node concept="9MYSb" id="7dD_UEaMuls" role="33IsuW">
<property role="TrG5h" value="entity" /> <node concept="3clFbS" id="7dD_UEaMult" role="2VODD2">
</node> <node concept="3clFbF" id="7dD_UEaMurL" role="3cqZAp">
<node concept="2OqwBi" id="CisPcP0ztN" role="2GsD0m"> <node concept="Xl_RD" id="7dD_UEaMurK" role="3clFbG">
<node concept="117lpO" id="CisPcP0zja" role="2Oq$k0" /> <property role="Xl_RC" value="py" />
<node concept="3Tsc0h" id="CisPcP0$SI" role="2OqNvi">
<ref role="3TtcxE" to="k8se:CisPcP0y_C" resolve="entities" />
</node>
</node>
<node concept="3clFbS" id="CisPcP0zhe" role="2LFqv$">
<node concept="lc7rE" id="CisPcP0zYs" role="3cqZAp">
<node concept="l9hG8" id="CisPcP0zYR" role="lcghm">
<node concept="2GrUjf" id="CisPcP0zZo" role="lb14g">
<ref role="2Gs0qQ" node="CisPcP0zha" resolve="entity" />
</node>
</node>
</node>
<node concept="lc7rE" id="CisPcP0$0f" role="3cqZAp">
<node concept="l8MVK" id="CisPcP0$0F" role="lcghm" />
</node>
</node> </node>
</node> </node>
</node> </node>
</node> </node>
<node concept="9MYSb" id="CisPcP0$86" role="33IsuW"> <node concept="11bSqf" id="7dD_UEaMu$G" role="11c4hB">
<node concept="3clFbS" id="CisPcP0$87" role="2VODD2"> <node concept="3clFbS" id="7dD_UEaMu$H" role="2VODD2">
<node concept="3cpWs6" id="CisPcP0_9i" role="3cqZAp"> <node concept="2Gpval" id="7dD_UEaMu_I" role="3cqZAp">
<node concept="Xl_RD" id="CisPcP0$jr" role="3cqZAk"> <node concept="2GrKxI" id="7dD_UEaMu_J" role="2Gsz3X">
<property role="Xl_RC" value="py" /> <property role="TrG5h" value="line" />
</node>
<node concept="2OqwBi" id="7dD_UEaMuLu" role="2GsD0m">
<node concept="117lpO" id="7dD_UEaMuAP" role="2Oq$k0" />
<node concept="3Tsc0h" id="7dD_UEaMvcV" role="2OqNvi">
<ref role="3TtcxE" to="k8se:GMyc5g4aVr" resolve="lines" />
</node>
</node>
<node concept="3clFbS" id="7dD_UEaMu_L" role="2LFqv$">
<node concept="lc7rE" id="7dD_UEaMvh8" role="3cqZAp">
<node concept="l9hG8" id="7dD_UEaMvhz" role="lcghm">
<node concept="2GrUjf" id="7dD_UEaMvi4" role="lb14g">
<ref role="2Gs0qQ" node="7dD_UEaMu_J" resolve="line" />
</node>
</node>
</node>
</node> </node>
</node> </node>
</node> </node>