<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ndbx formatVersion="18" type="file" uuid="ae4c84c0-364a-4cd8-bd54-729407b601ff">
    <property name="canvasHeight" value="1000"/>
    <property name="canvasWidth" value="1000"/>
    <property name="canvasX" value="0"/>
    <property name="canvasY" value="0"/>
    <device name="osc1" type="osc">
        <property name="port" value="1987"/>
        <property name="autostart" value="true"/>
    </device>
    <node name="root" prototype="core.network" renderedChild="combine1">
        <node name="angle1" position="7.00,8.00" prototype="math.angle"/>
        <node name="combine1" position="13.00,19.00" prototype="list.combine"/>
        <node name="coordinates1" position="7.00,7.00" prototype="math.coordinates">
            <port name="distance" type="float" value="300.0"/>
        </node>
        <node name="count1" position="7.00,5.00" prototype="list.count"/>
        <node name="count2" position="18.00,2.00" prototype="list.count"/>
        <node name="count3" position="21.00,11.00" prototype="list.count"/>
        <node name="distinct1" position="3.00,3.00" prototype="list.distinct"/>
        <node name="distinct2" position="13.00,3.00" prototype="list.distinct"/>
        <node name="ellipse1" position="17.00,1.00" prototype="corevector.ellipse">
            <port name="width" type="float" value="300.0"/>
            <port name="height" type="float" value="300.0"/>
        </node>
        <node name="import_csv1" position="7.00,-3.00" prototype="data.import_csv">
            <port name="file" type="string" value="Metallica_Dataset.csv"/>
        </node>
        <node name="line1" position="15.00,10.00" prototype="corevector.line"/>
        <node name="lookup1" position="3.00,1.00" prototype="data.lookup">
            <port name="key" type="string" value="Word"/>
        </node>
        <node name="lookup2" position="13.00,1.00" prototype="data.lookup">
            <port name="key" type="string" value="Album"/>
        </node>
        <node name="lookup3" position="20.00,9.00" prototype="data.lookup"/>
        <node name="lookup4" position="12.00,7.00" prototype="data.lookup"/>
        <node name="rotate1" position="3.00,7.00" prototype="corevector.rotate"/>
        <node name="sample1" position="7.00,6.00" prototype="math.sample">
            <port name="end" type="float" value="358.5001525878906"/>
        </node>
        <node name="scatter1" position="17.00,4.00" prototype="corevector.scatter"/>
        <node name="textpath1" position="3.00,6.00" prototype="corevector.textpath">
            <port name="font_size" type="float" value="12.0"/>
            <port name="align" type="string" value="LEFT"/>
            <port name="position" type="point" value="0.00,3.00"/>
        </node>
        <node name="textpath2" position="16.00,12.00" prototype="corevector.textpath">
            <port name="font_name" type="string" value="Verdana-Bold"/>
            <port name="font_size" type="float" value="14.0"/>
        </node>
        <node name="translate1" position="3.00,9.00" prototype="corevector.translate"/>
        <node name="zip_map1" position="17.00,6.00" prototype="list.zip_map"/>
        <node name="zip_map2" position="12.00,6.00" prototype="list.zip_map"/>
        <conn input="lookup1.list" output="import_csv1"/>
        <conn input="distinct1.list" output="lookup1"/>
        <conn input="count1.list" output="distinct1"/>
        <conn input="sample1.amount" output="count1"/>
        <conn input="coordinates1.angle" output="sample1"/>
        <conn input="textpath1.text" output="distinct1"/>
        <conn input="angle1.point2" output="coordinates1"/>
        <conn input="rotate1.shape" output="textpath1"/>
        <conn input="rotate1.angle" output="angle1"/>
        <conn input="translate1.shape" output="rotate1"/>
        <conn input="translate1.translate" output="coordinates1"/>
        <conn input="lookup2.list" output="import_csv1"/>
        <conn input="distinct2.list" output="lookup2"/>
        <conn input="scatter1.shape" output="ellipse1"/>
        <conn input="count2.list" output="distinct2"/>
        <conn input="scatter1.amount" output="count2"/>
        <conn input="zip_map1.keys" output="distinct2"/>
        <conn input="zip_map1.values" output="scatter1"/>
        <conn input="lookup3.list" output="zip_map1"/>
        <conn input="zip_map2.keys" output="distinct1"/>
        <conn input="zip_map2.values" output="coordinates1"/>
        <conn input="lookup4.list" output="zip_map2"/>
        <conn input="lookup4.key" output="lookup1"/>
        <conn input="line1.point1" output="lookup4"/>
        <conn input="line1.point2" output="lookup3"/>
        <conn input="combine1.list1" output="translate1"/>
        <conn input="textpath2.text" output="distinct2"/>
        <conn input="textpath2.position" output="scatter1"/>
        <conn input="combine1.list2" output="line1"/>
        <conn input="combine1.list3" output="textpath2"/>
        <conn input="count3.list" output="lookup3"/>
        <conn input="lookup3.key" output="lookup2"/>
    </node>
</ndbx>
