%%{init: {'themeVariables': { 'fontSize': '12px'}}}%%
graph TD
    classDef path fill:#eee,stroke:#000,color:#000
    classDef plan fill:#fff,stroke-width:1px,color:#000
    classDef itemplan fill:#fff,stroke-width:2px,color:#000
    classDef unbatchedplan fill:#dff,stroke-width:1px,color:#000
    classDef sideeffectplan fill:#fcc,stroke-width:2px,color:#000
    classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left


    %% define steps
    __Value3["__Value[3∈0]<br />ᐸcontextᐳ"]:::plan
    __Value5["__Value[5∈0]<br />ᐸrootValueᐳ"]:::plan
    Access9{{"Access[9∈0]<br />ᐸ3.pgSettingsᐳ"}}:::plan
    Access10{{"Access[10∈0]<br />ᐸ3.withPgClientᐳ"}}:::plan
    Object11{{"Object[11∈0]<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    PgSelect8[["PgSelect[8∈0]<br />ᐸrelational_commentablesᐳ"]]:::plan
    __ListTransform12[["__ListTransform[12∈0]<br />ᐸeach:8ᐳ"]]:::plan
    __Item13[/"__Item[13∈1]<br />ᐸ8ᐳ"\]:::itemplan
    PgSelectSingle14{{"PgSelectSingle[14∈1]<br />ᐸrelational_commentablesᐳ"}}:::plan
    __Item15[/"__Item[15∈2]<br />ᐸ12ᐳ"\]:::itemplan
    PgSelectSingle16{{"PgSelectSingle[16∈2]<br />ᐸrelational_commentablesᐳ"}}:::plan
    PgClassExpression17{{"PgClassExpression[17∈2]<br />ᐸ__relation...s__.”type”ᐳ"}}:::plan
    PgPolymorphic18["PgPolymorphic[18∈2]"]:::plan
    PgClassExpression19{{"PgClassExpression[19∈2]<br />ᐸ__relation...les__.”id”ᐳ"}}:::plan
    PgSelect20[["PgSelect[20∈3]<br />ᐸrelational_postsᐳ<br />ᐳRelationalPost"]]:::plan
    First24{{"First[24∈3]<br />ᐳRelationalPost"}}:::plan
    PgSelectSingle25{{"PgSelectSingle[25∈3]<br />ᐸrelational_postsᐳ<br />ᐳRelationalPost"}}:::plan
    Map112{{"Map[112∈3]<br />ᐸ25:{”0”:0,”1”:1,”2”:2}ᐳ<br />ᐳRelationalPost"}}:::plan
    PgSelectSingle32{{"PgSelectSingle[32∈3]<br />ᐸrelational_itemsᐳ<br />ᐳRelationalPost"}}:::plan
    PgClassExpression33{{"PgClassExpression[33∈3]<br />ᐸ__relation...s__.”type”ᐳ<br />ᐳRelationalPost"}}:::plan
    PgClassExpression41{{"PgClassExpression[41∈3]<br />ᐸ__relation...__.”type2”ᐳ<br />ᐳRelationalPost"}}:::plan
    PgClassExpression49{{"PgClassExpression[49∈3]<br />ᐸ__relation...”position”ᐳ<br />ᐳRelationalPost"}}:::plan
    PgSelect51[["PgSelect[51∈3]<br />ᐸrelational_checklistsᐳ<br />ᐳRelationalChecklist"]]:::plan
    First55{{"First[55∈3]<br />ᐳRelationalChecklist"}}:::plan
    PgSelectSingle56{{"PgSelectSingle[56∈3]<br />ᐸrelational_checklistsᐳ<br />ᐳRelationalChecklist"}}:::plan
    Map116{{"Map[116∈3]<br />ᐸ56:{”0”:0,”1”:1,”2”:2}ᐳ<br />ᐳRelationalChecklist"}}:::plan
    PgSelectSingle63{{"PgSelectSingle[63∈3]<br />ᐸrelational_itemsᐳ<br />ᐳRelationalChecklist"}}:::plan
    PgClassExpression64{{"PgClassExpression[64∈3]<br />ᐸ__relation...s__.”type”ᐳ<br />ᐳRelationalChecklist"}}:::plan
    PgClassExpression72{{"PgClassExpression[72∈3]<br />ᐸ__relation...__.”type2”ᐳ<br />ᐳRelationalChecklist"}}:::plan
    PgClassExpression80{{"PgClassExpression[80∈3]<br />ᐸ__relation...”position”ᐳ<br />ᐳRelationalChecklist"}}:::plan
    PgSelect82[["PgSelect[82∈3]<br />ᐸrelational_checklist_itemsᐳ<br />ᐳRelationalChecklistItem"]]:::plan
    First86{{"First[86∈3]<br />ᐳRelationalChecklistItem"}}:::plan
    PgSelectSingle87{{"PgSelectSingle[87∈3]<br />ᐸrelational_checklist_itemsᐳ<br />ᐳRelationalChecklistItem"}}:::plan
    Map114{{"Map[114∈3]<br />ᐸ87:{”0”:0,”1”:1,”2”:2}ᐳ<br />ᐳRelationalChecklistItem"}}:::plan
    PgSelectSingle94{{"PgSelectSingle[94∈3]<br />ᐸrelational_itemsᐳ<br />ᐳRelationalChecklistItem"}}:::plan
    PgClassExpression95{{"PgClassExpression[95∈3]<br />ᐸ__relation...s__.”type”ᐳ<br />ᐳRelationalChecklistItem"}}:::plan
    PgClassExpression103{{"PgClassExpression[103∈3]<br />ᐸ__relation...__.”type2”ᐳ<br />ᐳRelationalChecklistItem"}}:::plan
    PgClassExpression111{{"PgClassExpression[111∈3]<br />ᐸ__relation...”position”ᐳ<br />ᐳRelationalChecklistItem"}}:::plan

    %% plan dependencies
    __Value3 --> Access9
    __Value3 --> Access10
    Access9 & Access10 --> Object11
    Object11 --> PgSelect8
    PgSelect8 --> __ListTransform12
    PgSelect8 -.-> __Item13
    __Item13 --> PgSelectSingle14
    __ListTransform12 ==> __Item15
    __Item15 --> PgSelectSingle16
    PgSelectSingle16 --> PgClassExpression17
    PgSelectSingle16 & PgClassExpression17 --> PgPolymorphic18
    PgSelectSingle16 --> PgClassExpression19
    Object11 & PgClassExpression19 --> PgSelect20
    PgSelect20 --> First24
    First24 --> PgSelectSingle25
    PgSelectSingle25 --> Map112
    Map112 --> PgSelectSingle32
    PgSelectSingle32 --> PgClassExpression33
    PgSelectSingle32 --> PgClassExpression41
    PgSelectSingle32 --> PgClassExpression49
    Object11 & PgClassExpression19 --> PgSelect51
    PgSelect51 --> First55
    First55 --> PgSelectSingle56
    PgSelectSingle56 --> Map116
    Map116 --> PgSelectSingle63
    PgSelectSingle63 --> PgClassExpression64
    PgSelectSingle63 --> PgClassExpression72
    PgSelectSingle63 --> PgClassExpression80
    Object11 & PgClassExpression19 --> PgSelect82
    PgSelect82 --> First86
    First86 --> PgSelectSingle87
    PgSelectSingle87 --> Map114
    Map114 --> PgSelectSingle94
    PgSelectSingle94 --> PgClassExpression95
    PgSelectSingle94 --> PgClassExpression103
    PgSelectSingle94 --> PgClassExpression111

    subgraph "Buckets for queries/interfaces-relational/commentables-simple"
    Bucket0("Bucket 0 (root)"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value3,__Value5,PgSelect8,Access9,Access10,Object11,__ListTransform12 bucket0
    Bucket1("Bucket 1 (subroutine)<br />ROOT PgSelectSingle{1}ᐸrelational_commentablesᐳ[14]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,__Item13,PgSelectSingle14 bucket1
    Bucket2("Bucket 2 (listItem)<br />Deps: 11<br /><br />ROOT __Item{2}ᐸ12ᐳ[15]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,__Item15,PgSelectSingle16,PgClassExpression17,PgPolymorphic18,PgClassExpression19 bucket2
    Bucket3("Bucket 3 (polymorphic)<br />RelationalPost,RelationalChecklist,RelationalChecklistItem<br />Deps: 11, 19, 18<br />ᐳRelationalPost<br />ᐳRelationalChecklist<br />ᐳRelationalChecklistItem"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,PgSelect20,First24,PgSelectSingle25,PgSelectSingle32,PgClassExpression33,PgClassExpression41,PgClassExpression49,PgSelect51,First55,PgSelectSingle56,PgSelectSingle63,PgClassExpression64,PgClassExpression72,PgClassExpression80,PgSelect82,First86,PgSelectSingle87,PgSelectSingle94,PgClassExpression95,PgClassExpression103,PgClassExpression111,Map112,Map114,Map116 bucket3
    Bucket0 --> Bucket1 & Bucket2
    Bucket2 --> Bucket3
    end
