Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@d3v-null
Created June 3, 2021 14:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save d3v-null/12913b551cdfe0838851a4eda678c3f9 to your computer and use it in GitHub Desktop.
Save d3v-null/12913b551cdfe0838851a4eda678c3f9 to your computer and use it in GitHub Desktop.
%% Live Render https://mermaid-js.github.io/mermaid-live-editor/edit#eyJjb2RlIjoiZ3JhcGggTFJcbiAgICAlJXN1YmdyYXBoIE91dHB1dHNcbiAgICAgICAgY29tcGxleC1jaXJjdWl0LWJvYXJkW0NvbXBsZXggQ2lyY3VpdCBCb2FyZF1cbiAgICAlJWVuZFxuXG4gICAgJSVzdWJncmFwaCBSYXcgTWF0ZXJpYWxzXG4gICAgICAgIGFsdW1pbml1bS1wbGF0ZVtBbHVtaW5pdW0gUGxhdGVdXG4gICAgICAgIGFtbW9uaWFbQW1tb25pYV1cbiAgICAgICAgYXJhbWlkLWZpYmVyW0FyYW1pZCBGaWJlcl1cbiAgICAgICAgYXJvbWF0aWNzW0Fyb21hdGljc11cbiAgICAgICAgYXNoW0FzaF1cbiAgICAgICAgYmVuemVuZVtCZW56ZW5lXVxuICAgICAgICBib3JheFtCb3JheF1cbiAgICAgICAgY2FyYm9uLWRpb3hpZGVbQ2FyYm9uIERpb3hpZGVdXG4gICAgICAgIGNlcmFtaWNbQ2VyYW1pY11cbiAgICAgICAgY2VybWV0W0Nlcm1ldF1cbiAgICAgICAgY2hsb3JpbmVbQ2hsb3JpbmVdXG4gICAgICAgIGNocm9taXVtW0Nocm9taXVtXVxuICAgICAgICBjbGFkZGluZ1tDbGFkZGluZ11cbiAgICAgICAgY29rZVtDb2tlXVxuICAgICAgICBjb3BwZXItY2FibGVbQ29wcGVyIENhYmxlXVxuICAgICAgICBjb3BwZXItY29hdGluZ1tDb3BwZXIgQ29hdGluZ11cbiAgICAgICAgY29wcGVyLXBsYXRlW0NvcHBlciBQbGF0ZV1cbiAgICAgICAgY3J1c2hlZC1xdWFydHpbQ3J1c2hlZCBRdWFydHpdXG4gICAgICAgIGZpYmVyYm9hcmRbRmliZXJib2FyZF1cbiAgICAgICAgZm9ybWFsZGVoeWRlW0Zvcm1hbGRlaHlkZV1cbiAgICAgICAgZ2Fzb2xpbmVbR2Fzb2xpbmVdXG4gICAgICAgIGdsYXNzW0dsYXNzXVxuICAgICAgICBncmFwaGl0ZVtHcmFwaGl0ZV1cbiAgICAgICAgaHlkcm9nZW5bSHlkcm9nZW5dXG4gICAgICAgIGh5ZHJvZ2VuLWNobG9yaWRlW0h5ZHJvZ2VuIENobG9yaWRlXVxuICAgICAgICBoeWRyb2dlbi1wZXJveGlkZVtIeWRyb2dlbiBQZXJveGlkZV1cbiAgICAgICAgaXJvbi1veGlkZVtJcm9uIE94aWRlXVxuICAgICAgICBpcm9uLXBsYXRlW0lyb24gUGxhdGVdXG4gICAgICAgIGlyb24tbmlvYml1bS1hbGxveVtJcm9uIE5pb2JpdW0gQWxsb3ldXG4gICAgICAgIGtldmxhcltLZXZsYXJdXG4gICAgICAgIGxhcmRbTGFyZF1cbiAgICAgICAgbGltZXN0b25lW0xpbWVzdG9uZV1cbiAgICAgICAgbGlxdWlkLW5pdHJvZ2VuW0xpcXVpZCBOaXRyb2dlbl1cbiAgICAgICAgbG9nW0xvZ11cbiAgICAgICAgbHVicmljYW50W0x1YnJpY2FudF1cbiAgICAgICAgbWVsYW1pbWVbTWVsYW1pbWVdXG4gICAgICAgIG1ldGhhbmVbTWV0aGFuZV1cbiAgICAgICAgbW9sdGVuLWdsYXNzW01vbHRlbiBHbGFzc11cbiAgICAgICAgbW9seWJkZW51bVtNb2x5YmRlbnVtXVxuICAgICAgICBtb2x5YmRlbnVtLXBsYXRlW01vbHliZGVudW0gUGxhdGVdXG4gICAgICAgIG5pY2hyb21lW05pY2hyb21lXVxuICAgICAgICBuaWNrZWwtcGxhdGVbTmlja2VsIFBsYXRlXVxuICAgICAgICBuaXRyb2dlbltOaXRyb2dlbl1cbiAgICAgICAgbnlsb25bTnlsb25dXG4gICAgICAgIG9yZ2FuaWMtc29sdmVudFtPcmdhbmljIFNvbHZlbnRdXG4gICAgICAgIG94eWdlbltPeHlnZW5dXG4gICAgICAgIHBoZW5vbFtQaGVub2xdXG4gICAgICAgIHBob3NwaG9ydXMtYWNpZFtQaG9zcGhvcnVzIEFjaWRdXG4gICAgICAgIHBsYXN0aWMtYmFyW1BsYXN0aWMgQmFyXVxuICAgICAgICByYXJlLWVhcnRoLW94aWRlc1tSYXJlIEVhcnRoIE94aWRlc11cbiAgICAgICAgc2lsaWNvbltTaWxpY29uXVxuICAgICAgICBzaWx2ZXJbU2lsdmVyXVxuICAgICAgICBzaW1wbGUtY2lyY3VpdC1ib2FyZFtTaW1wbGUgQ2lyY3VpdCBCb2FyZF1cbiAgICAgICAgc29kaXVtLWh5ZHJveGlkZVtTb2RpdW0gSHlkcm94aWRlXVxuICAgICAgICBzb2xkZXJbU29sZGVyXVxuICAgICAgICBzdGVhbVtTdGVhbV1cbiAgICAgICAgc3VsZnVyaWMtYWNpZFtTdWxmdXJpYyBBY2lkXVxuICAgICAgICBzdWxmdXJbU3VsZnVyXVxuICAgICAgICB0aW4tcGxhdGVbVGluIFBsYXRlXVxuICAgICAgICB0aW5uZWQtY2FibGVbVGlubmVkIENhYmxlXVxuICAgICAgICB0aXRhbml1bS1wbGF0ZVtUaXRhbml1bSBQbGF0ZV1cbiAgICAgICAgdXJlYVtVcmVhXVxuICAgICAgICB2YWN1dW1bVmFjdXVtXVxuICAgICAgICB3YXRlcltXYXRlcl1cbiAgICAgICAgemluYy1wbGF0ZVtaaW5jIFBsYXRlXVxuICAgICUlZW5kXG5cbiAgICBzdWJncmFwaCBUZXJlcGh0aGFsb3lsIENobG9yaWRlXG4gICAgICAgIG5pY2hyb21lIC0tPiB0ZXJlcGh0aGFsb3lsLWNobG9yaWRlLXRjaVxuICAgICAgICBhcm9tYXRpY3MgLS0-IHRlcmVwaHRoYWxveWwtY2hsb3JpZGUtdGNpXG4gICAgICAgIGxpcXVpZC1uaXRyb2dlbiAtLT4gdGVyZXBodGhhbG95bC1jaGxvcmlkZS10Y2lcbiAgICBlbmRcblxuICAgIHN1YmdyYXBoIFB1cmUgU2FuZFxuICAgICAgICB3YXNoZWQtc2FuZCAtLT4gcHVyZS1zYW5kXG4gICAgICAgIHdhdGVyIC0tPiBwdXJlLXNhbmRcbiAgICBlbmRcblxuICAgIHN1YmdyYXBoIFRpbm5lZCBDb3BwZXIgV2lyZVxuICAgICAgICBjb3BwZXItY2FibGUgLS0-IHRpbm5lZC1jb3BwZXItd2lyZVxuICAgICAgICB0aW4tcGxhdGUgLS0-IHRpbm5lZC1jb3BwZXItd2lyZVxuICAgIGVuZFxuXG4gICAgc3ViZ3JhcGggQXJhbWlkIEZpYmVyXG4gICAgICAgIG1vbHliZGVudW0tcGxhdGUgLS0-IGFyYW1pZC1maWJlclxuICAgICAgICBhbHVtaW5pdW0tcGxhdGUgLS0-IGFyYW1pZC1maWJlclxuICAgICAgICB0aXRhbml1bS1wbGF0ZSAtLT4gYXJhbWlkLWZpYmVyXG4gICAgICAgIHNvZGl1bS1oeWRyb3hpZGUgLS0-IGFyYW1pZC1maWJlclxuICAgICAgICB0ZXJlcGh0aGFsb3lsLWNobG9yaWRlLXRjaSAtLT4gYXJhbWlkLWZpYmVyXG4gICAgICAgIHN1bGZ1cmljLWFjaWQgLS0-IGFyYW1pZC1maWJlclxuICAgIGVuZFxuXG4gICAgc3ViZ3JhcGggU2lsaWNvbiBXYWZlclxuICAgICAgICBzaWxpY29uIC0tPiBzaWxpY29uLXdhZmVyXG4gICAgICAgIGdyYXBoaXRlIC0tPiBzaWxpY29uLXdhZmVyXG4gICAgICAgIGNydXNoZWQtcXVhcnR6IC0tPiBzaWxpY29uLXdhZmVyXG4gICAgICAgIGFyYW1pZC1maWJlciAtLT4gc2lsaWNvbi13YWZlclxuICAgIGVuZFxuXG4gICAgc3ViZ3JhcGggUG93ZGVyZWQgUGhvc3BoYXRlIFJvY2tcbiAgICAgICAgcGhvc3BoYXRlLXJvY2sgLS0-IHBvd2RlcmVkLXBob3NwaGF0ZS1yb2NrXG4gICAgZW5kXG5cbiAgICBzdWJncmFwaCBTeW5nYXNcbiAgICAgICAgY29hbC1kdXN0IC0tPiBzeW5nYXNcbiAgICAgICAgd2F0ZXIgLS0-IHN5bmdhc1xuICAgIGVuZFxuXG4gICAgc3ViZ3JhcGggUGhvc3Bob3JpYyBBY2lkXG4gICAgICAgIGFzaCAtLT4gcGhvc3Bob3JpYy1hY2lkXG4gICAgICAgIHB1cmUtc2FuZCAtLT4gcGhvc3Bob3JpYy1hY2lkXG4gICAgICAgIHBvd2RlcmVkLXBob3NwaGF0ZS1yb2NrIC0tPiBwaG9zcGhvcmljLWFjaWRcbiAgICAgICAgc3luZ2FzIC0tPiBwaG9zcGhvcmljLWFjaWRcbiAgICBlbmRcblxuICAgIHN1YmdyYXBoIEV0Y2hpbmcgU29sdXRpb25cbiAgICAgICAgbGFyZCAtLT4gZXRjaGluZy1zb2x1dGlvblxuICAgICAgICBwaG9zcGhvcmljLWFjaWQgLS0-IGV0Y2hpbmctc29sdXRpb25cbiAgICAgICAgc3VsZnVyaWMtYWNpZCAtLT4gZXRjaGluZy1zb2x1dGlvblxuICAgICAgICBoeWRyb2dlbi1wZXJveGlkZSAtLT4gZXRjaGluZy1zb2x1dGlvblxuICAgICAgICAgICAgaHlkcm9nZW4gLS0-IGh5ZHJvZ2VuLXBlcm94aWRlXG4gICAgICAgICAgICBveHlnZW4gLS0-IGh5ZHJvZ2VuLXBlcm94aWRlXG4gICAgZW5kXG5cbiAgICBzdWJncmFwaCBBY2V0aWMgQWNpZFxuICAgICAgICBjaHJvbWl1bSAtLT4gYWNldGljLWFjaWRcbiAgICAgICAgY2FyYm9uLWRpb3hpZGUgLS0-IGFjZXRpYy1hY2lkXG4gICAgICAgIG5pY2hyb21lIC0tPiBhY2V0aWMtYWNpZFxuICAgICAgICBoeWRyb2dlbiAtLT4gYWNldGljLWFjaWRcbiAgICBlbmRcblxuICAgIHN1YmdyYXBoIFppbmMgQWNldGF0ZVxuICAgICAgICB6aW5jLXBsYXRlIC0tPiB6aW5jLWFjZXRhdGVcbiAgICAgICAgYWNldGljLWFjaWQgLS0-IHppbmMtYWNldGF0ZVxuICAgIGVuZFxuXG4gICAgJSUgICAgc3ViZ3JhcGggTnlsb25cbiAgICAlJSAgICAgICAgY2hyb21pdW0gLS0-IG55bG9uXG4gICAgJSUgICAgICAgIHBoZW5vbCAtLT4gbnlsb25cbiAgICAlJSAgICAgICAgYmxvb2QtbWVhbCAtLT4gbnlsb25cbiAgICAlJSAgICAgICAgY2FyYm9uLWRpb3hpZGUgLS0-IG55bG9uXG4gICAgJSUgICAgICAgIHN0ZWFtIC0tPiBueWxvblxuICAgICUlICAgIGVuZFxuXG4gICAgJSUgc3ViZ3JhcGggTnlsb25cbiAgICAgICAgJSUgVE9ET1xuICAgICUlIGVuZFxuXG4gICAgc3ViZ3JhcGggTGlnaHRseSBQIERvcGVkIFNpbGljb25cbiAgICAgICAgc2lsaWNvbi13YWZlciAtLT4gbGlnaHRseS1wLWRvcGVkLXNpbGljb25cbiAgICAgICAgemluYy1hY2V0YXRlIC0tPiBsaWdodGx5LXAtZG9wZWQtc2lsaWNvblxuICAgICAgICBkaWJvcmFuZSAtLT4gbGlnaHRseS1wLWRvcGVkLXNpbGljb25cbiAgICAgICAgICAgIGJvcmF4IC0tPiBkaWJvcmFuZVxuICAgICAgICAgICAgaHlkcm9nZW4gLS0-IGRpYm9yYW5lXG4gICAgICAgIGV0Y2hpbmctc29sdXRpb24gLS0-IGxpZ2h0bHktcC1kb3BlZC1zaWxpY29uXG4gICAgZW5kXG5cbiAgICBzdWJncmFwaCBMaWdodGx5IE4gRG9wZWQgU2lsaWNvblxuICAgICAgICBzaWxpY29uLXdhZmVyIC0tPiBsaWdodGx5LW4tZG9wZWQtc2lsaWNvblxuICAgICAgICBwaG9zcGhpbmUtZ2FzIC0tPiBsaWdodGx5LW4tZG9wZWQtc2lsaWNvblxuICAgICAgICAgICAgd29vZCAtLT4gcGhvc3BoaW5lLWdhc1xuICAgICAgICAgICAgcGhvc3Bob3JvdXMtYWNpZCAtLT4gcGhvc3BoaW5lLWdhc1xuICAgICAgICAgICAgICAgIGFzaCAtLT4gcGhvc3Bob3JvdXMtYWNpZFxuICAgICAgICAgICAgICAgIHB1cmUtc2FuZCAtLT4gcGhvc3Bob3JvdXMtYWNpZFxuICAgICAgICAgICAgICAgIHBvd2RlcmVkLXBob3NwaGF0ZS1yb2NrIC0tPiBwaG9zcGhvcm91cy1hY2lkXG4gICAgICAgICAgICAgICAgc3luZ2FzIC0tPiBwaG9zcGhvcm91cy1hY2lkXG4gICAgICAgIGV0Y2hpbmctc29sdXRpb24gLS0-IGxpZ2h0bHktbi1kb3BlZC1zaWxpY29uXG4gICAgZW5kXG5cbiAgICBzdWJncmFwaCBCb3JpYyBBY2lkXG4gICAgICAgIGRpYm9yYW5lIC0tPiBib3JpYy1hY2lkXG4gICAgICAgIHdhdGVyIC0tPiBib3JpYy1hY2lkXG4gICAgZW5kXG5cbiAgICBzdWJncmFwaCBNZWxhbWluZSBSZXNpblxuICAgICAgICBtZWxhbWluZSAtLT4gbWVsYW1pbmUtcmVzaW5cbiAgICAgICAgICAgIHdhdGVyIC0tPiBtZWxhbWluZVxuICAgICAgICAgICAgY3lhbmljLWFjaWQgLS0-IG1lbGFtaW5lXG4gICAgICAgICAgICBhbW1vbmlhIC0tPiBtZWxhbWluZVxuICAgICAgICB1cmVhIC0tPiBtZWxhbWluZS1yZXNpblxuICAgICAgICBmb3JtYWxkZWh5ZGUgLS0-IG1lbGFtaW5lLXJlc2luXG4gICAgZW5kXG5cbiAgICBzdWJncmFwaCBBaXIgQ29yZSBJbmR1Y3RvcnNcbiAgICAgICAgY29wcGVyLWNhYmxlIC0tPiBhaXItY29yZS1pbmR1Y3RvcnNcbiAgICAgICAgY2VyYW1pYyAtLT4gYWlyLWNvcmUtaW5kdWN0b3JzXG4gICAgZW5kXG5cbiAgICBzdWJncmFwaCBOaXRyb2JlbnplbmVcbiAgICAgICAgYmVuemVuZSAtLT4gbml0cm9iZW56ZW5lXG4gICAgICAgIHN1bGZ1cmljLWFjaWQgLS0-IG5pdHJvYmVuemVuZVxuICAgICAgICBhbW1vbmlhIC0tPiBuaXRyb2JlbnplbmVcbiAgICBlbmRcblxuICAgICUlXG5cbiAgICAlJSBzdWJncmFwaCBBbW1vbmlhIEdhc1xuICAgICUlICAgICBjb3BwZXItcGxhdGUgLS0-IGFtbW9uaWFcbiAgICAlJSAgICAgY29rZSAtLT4gYW1tb25pYVxuICAgICUlIGVuZFxuXG4gICAgJSUgc3ViZ3JhcGggQXJvbWF0aWNzXG4gICAgJSUgICAgIG9yZ2FuaWMtbWF0dGVyIC0tPiBhcm9tYXRpY3NcbiAgICAlJSAgICAgcmVmaW5lZC1zeW5nYXMgLS0-IGFyb21hdGljc1xuICAgICUlICAgICBoeWRyb2dlbiAtLT4gYXJvbWF0aWNzXG4gICAgJSUgZW5kXG5cbiAgICAlJSBzdWJncmFwaCBQbGFzdGljIEJhclxuICAgICUlICAgICBjaHJvbWl1bSAtLT4gcGxhc3RpYy1iYXJcbiAgICAlJSAgICAgcmVmaW5lZC1zeW5nYXMgLS0-IHBsYXN0aWMtYmFyXG4gICAgJSUgZW5kXG5cbiAgICAlJVxuXG4gICAgJSUgICAgc3ViZ3JhcGggU2ltcGxlIENpcmN1aXQgQm9hcmRcbiAgICAlJSAgICAgICAgc2ltcGxlLWNpcmN1aXQtYm9hcmQgLS0-IGNvbXBsZXgtY2lyY3VpdC1ib2FyZFxuICAgICUlXG4gICAgJSUgICAgICAgIGNlcmFtaWMtY2FwYWNpdG9ycyAtLT4gc2ltcGxlLWNpcmN1aXQtYm9hcmRcbiAgICAlJSAgICAgICAgICAgIHRpbi1wbGF0ZSAtLT4gY2VyYW1pYy1jYXBhY2l0b3JzXG4gICAgJSUgICAgICAgICAgICBjb3BwZXItcGxhdGUgLS0-IGNlcmFtaWMtY2FwYWNpdG9yc1xuICAgICUlICAgICAgICBhaXItY29yZS1pbmR1Y3RvcnMgLS0-IHNpbXBsZS1jaXJjdWl0LWJvYXJkXG4gICAgJSUgICAgICAgIGhpZ2gtcG93ZXItcmVzaXN0b3JzIC0tPiBzaW1wbGUtY2lyY3VpdC1ib2FyZFxuICAgICUlICAgICAgICAgICAgY29rZSAtLT4gaGlnaC1wb3dlci1yZXNpc3RvcnNcbiAgICAlJSAgICAgICAgICAgIGdsYXNzIC0tPiBoaWdoLXBvd2VyLXJlc2lzdG9yc1xuICAgICUlICAgICAgICAgICAgdGluLXBsYXRlIC0tPiBoaWdoLXBvd2VyLXJlc2lzdG9yc1xuICAgICUlICAgICAgICBwcmludGVkLWNpcmN1aXQtc3Vic3RyYXRlLTEgLS0-IHNpbXBsZS1jaXJjdWl0LWJvYXJkXG4gICAgJSUgICAgICAgICAgICBjb3BwZXItcGxhdGUgLS0-IHByaW50ZWQtY2lyY3VpdC1zdWJzdHJhdGUtMVxuICAgICUlICAgICAgICAgICAgZm9ybWljYSAtLT4gcHJpbnRlZC1jaXJjdWl0LXN1YnN0cmF0ZS0xXG4gICAgJSUgICAgICAgICAgICB2YWN1dW0gLS0-IHByaW50ZWQtY2lyY3VpdC1zdWJzdHJhdGUtMVxuICAgICUlICAgICAgICB2YWN1dW0tdHViZSAtLT4gc2ltcGxlLWNpcmN1aXQtYm9hcmRcbiAgICAlJSAgICAgICAgICAgIGlyb24tcGxhdGUgLS0-IHZhY3V1bS10dWJlXG4gICAgJSUgICAgICAgICAgICBjb3BwZXItcGxhdGUgLS0-IHZhY3V1bS10dWJlXG4gICAgJSUgICAgICAgICAgICBncmFwaGl0ZSAtLT4gdmFjdXVtLXR1YmVcbiAgICAlJSAgICAgICAgICAgIGdsYXNzIC0tPiB2YWN1dW0tdHViZVxuICAgICUlICAgICAgICAgICAgdmFjdXVtIC0tPiB2YWN1dW0tdHViZVxuICAgICUlICAgIGVuZFxuXG4gICAgJSUgICAgc3ViZ3JhcGggSXJvbiBOaW9iaXVtIEFsbG95XG4gICAgJSUgICAgICAgIGlyb24tcGxhdGUgLS0-IGlyb24tbmlvYml1bS1hbGxveVxuICAgICUlICAgICAgICBuaW9iaXVtLXBsYXRlIC0tPiBpcm9uLW5pb2JpdW0tYWxsb3lcbiAgICAlJSAgICBlbmRcblxuICAgICUlICAgIHN1YmdyYXBoIFJhcmUgRWFydGggT3hpZGVzXG4gICAgJSUgICAgICAgIHJhcmUtZWFydGgtY29uY2VudHJhdGUgLS0-IHJhcmUtZWFydGgtb3hpZGVzXG4gICAgJSUgICAgICAgICAgICByYXJlLWVhcnRoLXNvbHV0aW9uIC0tPiByYXJlLWVhcnRoLWNvbmNlbnRyYXRlXG4gICAgJSUgICAgICAgICAgICAgICAgcmFyZS1lYXJ0aC1zbHVycnkgLS0-IHJhcmUtZWFydGgtc29sdXRpb25cbiAgICAlJSAgICAgICAgICAgICAgICAgICAgcmFyZS1lYXJ0aC1tdWQgLS0-IHJhcmUtZWFydGgtc2x1cnJ5XG4gICAgJSUgICAgICAgICAgICAgICAgICAgICAgICByYXJlLWVhcnRoLWR1c3QgLS0-IHJhcmUtZWFydGgtbXVkXG4gICAgJSUgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFyZS1lYXJ0aC1wb3dkZXIgLS0-IHJhcmUtZWFydGgtZHVzdFxuICAgICUlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXJlLWVhcnRoLW9yZSAtLT4gcmFyZS1lYXJ0aC1wb3dkZXJcbiAgICAlJSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhcmUtZWFydGgtYm9saWRlIC0tPiByYXJlLWVhcnRoLW9yZVxuICAgICUlICAgICAgICAgICAgICAgICAgICAgICAgc3VsZnVyaWMtYWNpZCAtLT4gcmFyZS1lYXJ0aC1tdWRcbiAgICAlJSAgICAgICAgICAgICAgICAgICAgICAgIHdhdGVyIC0tPiByYXJlLWVhcnRoLW11ZFxuICAgICUlICAgICAgICAgICAgICAgICAgICBzdWxmdXJpYy1hY2lkIC0tPiByYXJlLWVhcnRoLXNsdXJyeVxuICAgICUlICAgICAgICAgICAgICAgIGFtbW9uaWEgLS0-IHJhcmUtZWFydGgtc29sdXRpb25cbiAgICAlJSAgICBlbmQgXG4gICAgXG4gICAgc3ViZ3JhcGggQ2VybWV0XG4gICAgICAgIGFzaCAtLT4gY2VybWV0XG4gICAgICAgIGNydWRlLWNlcm1ldCAtLT4gY2VybWV0XG4gICAgICAgICAgICBtb2x5YmRlbnVtLW9yZSAtLT4gY3J1ZGUtY2VybWV0XG4gICAgICAgICAgICBjZXJhbWljIC0tPiBjcnVkZS1jZXJtZXRcbiAgICAgICAgbHVicmljYW50IC0tPiBjZXJtZXRcbiAgICAgICAgICAgIGdseWNlcm9sLWxpcXVpZCAtLT4gbHVicmljYW50XG4gICAgICAgICAgICAgICAgbnV0aWVudCAtLT4gZ2x5Y2Vyb2wtbGlxdWlkXG4gICAgICAgICAgICBsaXRoaWEtd2F0ZXIgLS0-IGx1YnJpY2FudFxuICAgIGVuZFxuXG4gICAgJSUgICAgc3ViZ3JhcGggVGlubmVkIENhYmxlXG4gICAgJSUgICAgICAgIGNvcHBlci1jYWJsZSAtLT4gdGlubmVkLWNhYmxlXG4gICAgJSUgICAgICAgIHRpbi1wbGF0ZSAtLT4gdGlubmVkLWNhYmxlXG4gICAgJSUgICAgZW5kXG5cbiAgICBzdWJncmFwaCBDb3BwZXIgQ29hdGluZ1xuICAgICAgICBjb3BwZXItcGxhdGUgLS0-IGNvcHBlci1jb2F0aW5nXG4gICAgICAgIGNsYWRkZWQtY29yZSAtLT4gY29wcGVyLWNvYXRpbmdcbiAgICAgICAgICAgIGNsYWRkaW5nIC0tPiBjbGFkZGVkLWNvcmVcbiAgICAgICAgICAgICAgICB3YXNoZWQtc2FuZCAtLT4gY2xhZGRpbmdcbiAgICAgICAgICAgICAgICBuaW9iaXVtLWNvbXBsZXggLS0-IGNsYWRkaW5nXG4gICAgICAgICAgICAgICAgbml0cm9iZW56ZW5lIC0tPiBjbGFkZGluZ1xuICAgICAgICAgICAgZ2xhc3MtY29yZSAtLT4gY2xhZGRlZC1jb3JlXG4gICAgICAgICAgICAgICAgc2lsdmVyLXBsYXRlIC0tPiBnbGFzcy1jb3JlXG4gICAgICAgICAgICAgICAgd2FzaGVkLXNhbmQgLS0-IGdsYXNzLWNvcmVcbiAgICAgICAgICAgICAgICBzdWxmdXIgLS0-IGdsYXNzLWNvcmVcbiAgICAgICAgb3JnYW5pYy1zb2x2ZW50IC0tPiBjb3BwZXItY29hdGluZ1xuICAgIGVuZFxuXG4gICAgJSUgICAgc3ViZ3JhcGggS2V2bGFyXG4gICAgJSUgICAgICAgIHAtcGhlbnlsZW5lZGlhbWluZS1wcGQgLS0-IGtldmxhclxuICAgICUlICAgICAgICAgICAgaHlkcm9nZW4gLS0-IHAtcGhlbnlsZW5lZGlhbWluZS1wcGRcbiAgICAlJSAgICAgICAgICAgIGFyb21hdGljcyAtLT4gcC1waGVueWxlbmVkaWFtaW5lLXBwZFxuICAgICUlICAgICAgICBueWxvbiAtLT4ga2V2bGFyXG4gICAgJSUgICAgICAgIHRlcmVwaHRoYWxveWwtY2hsb3JpZGUtdGNpIC0tPiBrZXZsYXJcbiAgICAlJSAgICAgICAgICAgIGNvYmFsdC1vcmUgLS0-IHRlcmVwaHRoYWxveWwtY2hsb3JpZGUtdGNpXG4gICAgJSUgICAgICAgICAgICBhcm9tYXRpY3MgLS0-IHRlcmVwaHRoYWxveWwtY2hsb3JpZGUtdGNpXG4gICAgJSUgICAgICAgICAgICBjb21wcmVzc2VkLWFpciAtLT4gdGVyZXBodGhhbG95bC1jaGxvcmlkZS10Y2lcbiAgICAlJSAgICAgICAgb3JnYW5pYy1zb2x2ZW50IC0tPiBrZXZsYXJcbiAgICAlJSAgICBlbmRcblxuICAgICUlICAgIHN1YmdyYXBoIEJvcmF4XG4gICAgJSUgICAgICAgIHJhdy1ib3JheCAtLT4gYm9yYXhcbiAgICAlJSAgICAgICAgd2F0ZXIgLS0-IGJvcmF4XG4gICAgJSUgICAgZW5kXG5cbiAgICAlJSAgICBzdWJncmFwaCBPcmdhbmljIFNvbHZlbnRcbiAgICAlJSAgICAgICAgdHJlYXRlZC13b29kIC0tPiBvcmdhbmljLXNvbHZlbnRcbiAgICAlJSAgICAgICAgcmF3LWZpYmVyIC0tPiBvcmdhbmljLXNvbHZlbnRcbiAgICAlJSAgICAgICAgc3RlYW0gLS0-IG9yZ2FuaWMtc29sdmVudFxuICAgICUlICAgIGVuZFxuXG4gICAgc3ViZ3JhcGggS2V2bGFyIENvYXRpbmdcbiAgICAgICAgY29wcGVyLXBsYXRlIC0tPiBrZXZsYXItY29hdGluZ1xuICAgICAgICBvcmdhbmljLXNvbHZlbnQgLS0-IGtldmxhci1jb2F0aW5nXG4gICAgICAgIG55bG9uIC0tPiBrZXZsYXItY29hdGluZ1xuICAgICAgICB0ZXJlcGh0aGFsb3lsLWNobG9yaWRlLXRjaSAtLT4ga2V2bGFyLWNvYXRpbmdcbiAgICAgICAgYW1tb25pYSAtLT4ga2V2bGFyLWNvYXRpbmdcbiAgICAgICAgbml0cm9iZW56ZW5lIC0tPiBrZXZsYXItY29hdGluZ1xuICAgICAgICBjaGxvcmluZSAtLT4ga2V2bGFyLWNvYXRpbmdcbiAgICBlbmRcblxuICAgIHN1YmdyYXBoIE9wdGljYWwgRmliZXJcbiAgICAgICAgb3B0aWNhbC1maWJlciAtLT4gY29tcGxleC1jaXJjdWl0LWJvYXJkXG5cbiAgICAgICAgcGxhc3RpYy1iYXIgLS0-IG9wdGljYWwtZmliZXJcbiAgICAgICAgaXJvbi1uaW9iaXVtLWNvYXRpbmcgLS0-IG9wdGljYWwtZmliZXJcbiAgICAgICAgICAgIGtldmxhci1jb2F0aW5nIC0tPiBpcm9uLW5pb2JpdW0tY29hdGluZ1xuICAgICAgICAgICAgaXJvbi1uaW9iaXVtLWFsbG95IC0tPiBpcm9uLW5pb2JpdW0tY29hdGluZ1xuICAgIGVuZFxuXG4gICAgc3ViZ3JhcGggRGlvZGVzXG4gICAgICAgIGRpb2RlcyAtLT4gY29tcGxleC1jaXJjdWl0LWJvYXJkXG5cbiAgICAgICAgcmFyZS1lYXJ0aC1veGlkZXMgLS0-IGRpb2Rlc1xuICAgICAgICBsaWdodGx5LW4tZG9wZWQtc2lsaWNvbiAtLT4gZGlvZGVzXG4gICAgICAgIGxpZ2h0bHktcC1kb3BlZC1zaWxpY29uIC0tPiBkaW9kZXNcbiAgICAgICAgY2VybWV0IC0tPiBkaW9kZXNcbiAgICAgICAgbnlsb24gLS0-IGRpb2Rlc1xuICAgICAgICB0aW4tcGxhdGUgLS0-IGRpb2Rlc1xuICAgICAgICB2YWN1dW0gLS0-IGRpb2Rlc1xuICAgIGVuZFxuXG4gICAgc3ViZ3JhcGggTWljcm9jaGlwc1xuICAgICAgICBtaWNyb2NoaXBzIC0tPiBjb21wbGV4LWNpcmN1aXQtYm9hcmRcblxuICAgICAgICBwbGFzdGljLWJhciAtLT4gbWljcm9jaGlwc1xuICAgICAgICBsaWdodGx5LW4tZG9wZWQtc2lsaWNvbiAtLT4gbWljcm9jaGlwc1xuICAgICAgICBsaWdodGx5LXAtZG9wZWQtc2lsaWNvbiAtLT4gbWljcm9jaGlwc1xuICAgICAgICBjZXJtZXQgLS0-IG1pY3JvY2hpcHNcbiAgICAgICAgdGluLXBsYXRlIC0tPiBtaWNyb2NoaXBzXG4gICAgICAgIHRpbm5lZC1jYWJsZSAtLT4gbWljcm9jaGlwc1xuICAgICAgICB2YWN1dW0gLS0-IG1pY3JvY2hpcHNcblxuICAgIGVuZFxuXG4gICAgc3ViZ3JhcGggTWVkaXVtIFBvd2VyIFJlc2lzdG9yc1xuICAgICAgICBtZWRpdW0tcG93ZXItcmVzaXN0b3JzIC0tPiBjb21wbGV4LWNpcmN1aXQtYm9hcmRcblxuICAgICAgICBjZXJtZXQgLS0-IG1lZGl1bS1wb3dlci1yZXNpc3RvcnNcbiAgICAgICAgZmVycm9jaHJvbWUgLS0-IG1lZGl1bS1wb3dlci1yZXNpc3RvcnNcbiAgICAgICAgICAgIGlyb24tcGxhdGUgLS0-IGZlcnJvY2hyb21lXG4gICAgICAgICAgICBjaHJvbWl1bSAtLT4gZmVycm9jaHJvbWVcbiAgICAgICAgICAgIGdyYXBoaXRlIC0tPiBmZXJyb2Nocm9tZVxuICAgICAgICAgICAgY3J1ZGUtb2lsIC0tPiBmZXJyb2Nocm9tZVxuICAgICAgICBoaWdoLXBvd2VyLXJlc2lzdG9ycyAtLT4gbWVkaXVtLXBvd2VyLXJlc2lzdG9yc1xuICAgICAgICAgICAgY29rZSAtLT4gaGlnaC1wb3dlci1yZXNpc3RvcnNcbiAgICAgICAgICAgIGdsYXNzIC0tPiBoaWdoLXBvd2VyLXJlc2lzdG9yc1xuICAgICAgICAgICAgdGluLXBsYXRlIC0tPiBoaWdoLXBvd2VyLXJlc2lzdG9yc1xuICAgICAgICBib3JpYy1hY2lkIC0tPiBtZWRpdW0tcG93ZXItcmVzaXN0b3JzXG4gICAgZW5kXG5cblxuICAgIHN1YmdyYXBoIFRyYW5zaXN0b3JzXG4gICAgICAgIHRyYW5zaXN0b3JzIC0tPiBjb21wbGV4LWNpcmN1aXQtYm9hcmRcblxuICAgICAgICBtZWxhbWluZS1yZXNpbiAtLT4gdHJhbnNpc3RvcnNcbiAgICAgICAgaGVhdmlseS1uLWRvcGVkLXNpbGljb24gLS0-IHRyYW5zaXN0b3JzXG4gICAgICAgIGxpZ2h0bHktbi1kb3BlZC1zaWxpY29uIC0tPiB0cmFuc2lzdG9yc1xuICAgICAgICBsaWdodGx5LXAtZG9wZWQtc2lsaWNvbiAtLT4gdHJhbnNpc3RvcnNcbiAgICAgICAgbnlsb24gLS0-IHRyYW5zaXN0b3JzXG4gICAgICAgIHZhY3V1bSAtLT4gdHJhbnNpc3RvcnMgICAgICAgIFxuICAgIGVuZFxuXG5cbiAgICBzdWJncmFwaCBlbGVjdHJvbHl0aWMgY2FwYWNpdG9yc1xuICAgICAgICBlbGVjdHJvbHl0aWMtY2FwYWNpdG9ycyAtLT4gY29tcGxleC1jaXJjdWl0LWJvYXJkXG5cbiAgICAgICAgY2VyYW1pYy1jYXBhY2l0b3JzIC0tPiBlbGVjdHJvbHl0aWMtY2FwYWNpdG9yc1xuICAgICAgICAgICAgY2VyYW1pYyAtLT4gY2VyYW1pYy1jYXBhY2l0b3JzXG4gICAgICAgICAgICB0aW4tcGxhdGUgLS0-IGNlcmFtaWMtY2FwYWNpdG9yc1xuICAgICAgICBhbHVtaW5pdW0tcGxhdGUgLS0-IGVsZWN0cm9seXRpYy1jYXBhY2l0b3JzXG4gICAgICAgIHRpbm5lZC1jYWJsZSAtLT4gZWxlY3Ryb2x5dGljLWNhcGFjaXRvcnNcbiAgICAgICAgYm9yaWMtYWNpZCAtLT4gZWxlY3Ryb2x5dGljLWNhcGFjaXRvcnNcbiAgICAgICAgYWx1bWluaXVtLXB1bHAgLS0-IGVsZWN0cm9seXRpYy1jYXBhY2l0b3JzXG4gICAgICAgICAgICBsaW1lIC0tPiBhbHVtaW5pdW0tcHVscFxuICAgICAgICAgICAgcG93ZGVyZWQtYWx1bWluaXVtIC0tPiBhbHVtaW5pdW0tcHVscFxuICAgICAgICAgICAgd2F0ZXIgLS0-IGFsdW1pbml1bS1wdWxwXG4gICAgICAgICAgICBwaG9zcGhvcmljLWFjaWQgLS0-IGFsdW1pbml1bS1wdWxwXG4gICAgZW5kXG5cblxuICAgIHN1YmdyYXBoIFRvcm9pZGFsIGluZHVjdG9yc1xuICAgICAgICB0b3JvaWRhbC1pbmR1Y3RvcnMgLS0-IGNvbXBsZXgtY2lyY3VpdC1ib2FyZFxuXG4gICAgICAgIGZlcnJpdGUgLS0-IHRvcm9pZGFsLWluZHVjdG9yc1xuICAgICAgICAgICAgaXJvbi1veGlkZSAtLT4gZmVycml0ZVxuICAgICAgICAgICAgbmljaHJvbWUgLS0-IGZlcnJpdGVcbiAgICAgICAgICAgIHppbmMtcGxhdGUgLS0-IGZlcnJpdGVcbiAgICAgICAgbWVsYW1pbmUtcmVzaW4gLS0-IHRvcm9pZGFsLWluZHVjdG9yc1xuXG4gICAgZW5kXG4iLCJtZXJtYWlkIjoie1xuICBcInRoZW1lXCI6IFwiZGVmYXVsdFwiXG59IiwidXBkYXRlRWRpdG9yIjpmYWxzZSwiYXV0b1N5bmMiOnRydWUsInVwZGF0ZURpYWdyYW0iOmZhbHNlfQ

graph LR
    %%subgraph Outputs
        complex-circuit-board[Complex Circuit Board]
    %%end

    %%subgraph Raw Materials
        aluminium-plate[Aluminium Plate]
        ammonia[Ammonia]
        aramid-fiber[Aramid Fiber]
        aromatics[Aromatics]
        ash[Ash]
        benzene[Benzene]
        borax[Borax]
        carbon-dioxide[Carbon Dioxide]
        ceramic[Ceramic]
        cermet[Cermet]
        chlorine[Chlorine]
        chromium[Chromium]
        cladding[Cladding]
        coke[Coke]
        copper-cable[Copper Cable]
        copper-coating[Copper Coating]
        copper-plate[Copper Plate]
        crushed-quartz[Crushed Quartz]
        fiberboard[Fiberboard]
        formaldehyde[Formaldehyde]
        gasoline[Gasoline]
        glass[Glass]
        graphite[Graphite]
        hydrogen[Hydrogen]
        hydrogen-chloride[Hydrogen Chloride]
        hydrogen-peroxide[Hydrogen Peroxide]
        iron-oxide[Iron Oxide]
        iron-plate[Iron Plate]
        iron-niobium-alloy[Iron Niobium Alloy]
        kevlar[Kevlar]
        lard[Lard]
        limestone[Limestone]
        liquid-nitrogen[Liquid Nitrogen]
        log[Log]
        lubricant[Lubricant]
        melamime[Melamime]
        methane[Methane]
        molten-glass[Molten Glass]
        molybdenum[Molybdenum]
        molybdenum-plate[Molybdenum Plate]
        nichrome[Nichrome]
        nickel-plate[Nickel Plate]
        nitrogen[Nitrogen]
        nylon[Nylon]
        organic-solvent[Organic Solvent]
        oxygen[Oxygen]
        phenol[Phenol]
        phosphorus-acid[Phosphorus Acid]
        plastic-bar[Plastic Bar]
        rare-earth-oxides[Rare Earth Oxides]
        silicon[Silicon]
        silver[Silver]
        simple-circuit-board[Simple Circuit Board]
        sodium-hydroxide[Sodium Hydroxide]
        solder[Solder]
        steam[Steam]
        sulfuric-acid[Sulfuric Acid]
        sulfur[Sulfur]
        tin-plate[Tin Plate]
        tinned-cable[Tinned Cable]
        titanium-plate[Titanium Plate]
        urea[Urea]
        vacuum[Vacuum]
        water[Water]
        zinc-plate[Zinc Plate]
    %%end

    subgraph Terephthaloyl Chloride
        nichrome --> terephthaloyl-chloride-tci
        aromatics --> terephthaloyl-chloride-tci
        liquid-nitrogen --> terephthaloyl-chloride-tci
    end

    subgraph Pure Sand
        washed-sand --> pure-sand
        water --> pure-sand
    end

    subgraph Tinned Copper Wire
        copper-cable --> tinned-copper-wire
        tin-plate --> tinned-copper-wire
    end

    subgraph Aramid Fiber
        molybdenum-plate --> aramid-fiber
        aluminium-plate --> aramid-fiber
        titanium-plate --> aramid-fiber
        sodium-hydroxide --> aramid-fiber
        terephthaloyl-chloride-tci --> aramid-fiber
        sulfuric-acid --> aramid-fiber
    end

    subgraph Silicon Wafer
        silicon --> silicon-wafer
        graphite --> silicon-wafer
        crushed-quartz --> silicon-wafer
        aramid-fiber --> silicon-wafer
    end

    subgraph Powdered Phosphate Rock
        phosphate-rock --> powdered-phosphate-rock
    end

    subgraph Syngas
        coal-dust --> syngas
        water --> syngas
    end

    subgraph Phosphoric Acid
        ash --> phosphoric-acid
        pure-sand --> phosphoric-acid
        powdered-phosphate-rock --> phosphoric-acid
        syngas --> phosphoric-acid
    end

    subgraph Etching Solution
        lard --> etching-solution
        phosphoric-acid --> etching-solution
        sulfuric-acid --> etching-solution
        hydrogen-peroxide --> etching-solution
            hydrogen --> hydrogen-peroxide
            oxygen --> hydrogen-peroxide
    end

    subgraph Acetic Acid
        chromium --> acetic-acid
        carbon-dioxide --> acetic-acid
        nichrome --> acetic-acid
        hydrogen --> acetic-acid
    end

    subgraph Zinc Acetate
        zinc-plate --> zinc-acetate
        acetic-acid --> zinc-acetate
    end

    %%    subgraph Nylon
    %%        chromium --> nylon
    %%        phenol --> nylon
    %%        blood-meal --> nylon
    %%        carbon-dioxide --> nylon
    %%        steam --> nylon
    %%    end

    %% subgraph Nylon
        %% TODO
    %% end

    subgraph Lightly P Doped Silicon
        silicon-wafer --> lightly-p-doped-silicon
        zinc-acetate --> lightly-p-doped-silicon
        diborane --> lightly-p-doped-silicon
            borax --> diborane
            hydrogen --> diborane
        etching-solution --> lightly-p-doped-silicon
    end

    subgraph Lightly N Doped Silicon
        silicon-wafer --> lightly-n-doped-silicon
        phosphine-gas --> lightly-n-doped-silicon
            wood --> phosphine-gas
            phosphorous-acid --> phosphine-gas
                ash --> phosphorous-acid
                pure-sand --> phosphorous-acid
                powdered-phosphate-rock --> phosphorous-acid
                syngas --> phosphorous-acid
        etching-solution --> lightly-n-doped-silicon
    end

    subgraph Boric Acid
        diborane --> boric-acid
        water --> boric-acid
    end

    subgraph Melamine Resin
        melamine --> melamine-resin
            water --> melamine
            cyanic-acid --> melamine
            ammonia --> melamine
        urea --> melamine-resin
        formaldehyde --> melamine-resin
    end

    subgraph Air Core Inductors
        copper-cable --> air-core-inductors
        ceramic --> air-core-inductors
    end

    subgraph Nitrobenzene
        benzene --> nitrobenzene
        sulfuric-acid --> nitrobenzene
        ammonia --> nitrobenzene
    end

    %%

    %% subgraph Ammonia Gas
    %%     copper-plate --> ammonia
    %%     coke --> ammonia
    %% end

    %% subgraph Aromatics
    %%     organic-matter --> aromatics
    %%     refined-syngas --> aromatics
    %%     hydrogen --> aromatics
    %% end

    %% subgraph Plastic Bar
    %%     chromium --> plastic-bar
    %%     refined-syngas --> plastic-bar
    %% end

    %%

    %%    subgraph Simple Circuit Board
    %%        simple-circuit-board --> complex-circuit-board
    %%
    %%        ceramic-capacitors --> simple-circuit-board
    %%            tin-plate --> ceramic-capacitors
    %%            copper-plate --> ceramic-capacitors
    %%        air-core-inductors --> simple-circuit-board
    %%        high-power-resistors --> simple-circuit-board
    %%            coke --> high-power-resistors
    %%            glass --> high-power-resistors
    %%            tin-plate --> high-power-resistors
    %%        printed-circuit-substrate-1 --> simple-circuit-board
    %%            copper-plate --> printed-circuit-substrate-1
    %%            formica --> printed-circuit-substrate-1
    %%            vacuum --> printed-circuit-substrate-1
    %%        vacuum-tube --> simple-circuit-board
    %%            iron-plate --> vacuum-tube
    %%            copper-plate --> vacuum-tube
    %%            graphite --> vacuum-tube
    %%            glass --> vacuum-tube
    %%            vacuum --> vacuum-tube
    %%    end

    %%    subgraph Iron Niobium Alloy
    %%        iron-plate --> iron-niobium-alloy
    %%        niobium-plate --> iron-niobium-alloy
    %%    end

    %%    subgraph Rare Earth Oxides
    %%        rare-earth-concentrate --> rare-earth-oxides
    %%            rare-earth-solution --> rare-earth-concentrate
    %%                rare-earth-slurry --> rare-earth-solution
    %%                    rare-earth-mud --> rare-earth-slurry
    %%                        rare-earth-dust --> rare-earth-mud
    %%                            rare-earth-powder --> rare-earth-dust
    %%                                rare-earth-ore --> rare-earth-powder
    %%                                    rare-earth-bolide --> rare-earth-ore
    %%                        sulfuric-acid --> rare-earth-mud
    %%                        water --> rare-earth-mud
    %%                    sulfuric-acid --> rare-earth-slurry
    %%                ammonia --> rare-earth-solution
    %%    end 
    
    subgraph Cermet
        ash --> cermet
        crude-cermet --> cermet
            molybdenum-ore --> crude-cermet
            ceramic --> crude-cermet
        lubricant --> cermet
            glycerol-liquid --> lubricant
                nutient --> glycerol-liquid
            lithia-water --> lubricant
    end

    %%    subgraph Tinned Cable
    %%        copper-cable --> tinned-cable
    %%        tin-plate --> tinned-cable
    %%    end

    subgraph Copper Coating
        copper-plate --> copper-coating
        cladded-core --> copper-coating
            cladding --> cladded-core
                washed-sand --> cladding
                niobium-complex --> cladding
                nitrobenzene --> cladding
            glass-core --> cladded-core
                silver-plate --> glass-core
                washed-sand --> glass-core
                sulfur --> glass-core
        organic-solvent --> copper-coating
    end

    %%    subgraph Kevlar
    %%        p-phenylenediamine-ppd --> kevlar
    %%            hydrogen --> p-phenylenediamine-ppd
    %%            aromatics --> p-phenylenediamine-ppd
    %%        nylon --> kevlar
    %%        terephthaloyl-chloride-tci --> kevlar
    %%            cobalt-ore --> terephthaloyl-chloride-tci
    %%            aromatics --> terephthaloyl-chloride-tci
    %%            compressed-air --> terephthaloyl-chloride-tci
    %%        organic-solvent --> kevlar
    %%    end

    %%    subgraph Borax
    %%        raw-borax --> borax
    %%        water --> borax
    %%    end

    %%    subgraph Organic Solvent
    %%        treated-wood --> organic-solvent
    %%        raw-fiber --> organic-solvent
    %%        steam --> organic-solvent
    %%    end

    subgraph Kevlar Coating
        copper-plate --> kevlar-coating
        organic-solvent --> kevlar-coating
        nylon --> kevlar-coating
        terephthaloyl-chloride-tci --> kevlar-coating
        ammonia --> kevlar-coating
        nitrobenzene --> kevlar-coating
        chlorine --> kevlar-coating
    end

    subgraph Optical Fiber
        optical-fiber --> complex-circuit-board

        plastic-bar --> optical-fiber
        iron-niobium-coating --> optical-fiber
            kevlar-coating --> iron-niobium-coating
            iron-niobium-alloy --> iron-niobium-coating
    end

    subgraph Diodes
        diodes --> complex-circuit-board

        rare-earth-oxides --> diodes
        lightly-n-doped-silicon --> diodes
        lightly-p-doped-silicon --> diodes
        cermet --> diodes
        nylon --> diodes
        tin-plate --> diodes
        vacuum --> diodes
    end

    subgraph Microchips
        microchips --> complex-circuit-board

        plastic-bar --> microchips
        lightly-n-doped-silicon --> microchips
        lightly-p-doped-silicon --> microchips
        cermet --> microchips
        tin-plate --> microchips
        tinned-cable --> microchips
        vacuum --> microchips

    end

    subgraph Medium Power Resistors
        medium-power-resistors --> complex-circuit-board

        cermet --> medium-power-resistors
        ferrochrome --> medium-power-resistors
            iron-plate --> ferrochrome
            chromium --> ferrochrome
            graphite --> ferrochrome
            crude-oil --> ferrochrome
        high-power-resistors --> medium-power-resistors
            coke --> high-power-resistors
            glass --> high-power-resistors
            tin-plate --> high-power-resistors
        boric-acid --> medium-power-resistors
    end


    subgraph Transistors
        transistors --> complex-circuit-board

        melamine-resin --> transistors
        heavily-n-doped-silicon --> transistors
        lightly-n-doped-silicon --> transistors
        lightly-p-doped-silicon --> transistors
        nylon --> transistors
        vacuum --> transistors        
    end


    subgraph electrolytic capacitors
        electrolytic-capacitors --> complex-circuit-board

        ceramic-capacitors --> electrolytic-capacitors
            ceramic --> ceramic-capacitors
            tin-plate --> ceramic-capacitors
        aluminium-plate --> electrolytic-capacitors
        tinned-cable --> electrolytic-capacitors
        boric-acid --> electrolytic-capacitors
        aluminium-pulp --> electrolytic-capacitors
            lime --> aluminium-pulp
            powdered-aluminium --> aluminium-pulp
            water --> aluminium-pulp
            phosphoric-acid --> aluminium-pulp
    end


    subgraph Toroidal inductors
        toroidal-inductors --> complex-circuit-board

        ferrite --> toroidal-inductors
            iron-oxide --> ferrite
            nichrome --> ferrite
            zinc-plate --> ferrite
        melamine-resin --> toroidal-inductors

    end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment