origin = ( 2,2.5 ) boxht = 0.2; boxwid = 0.3 down; box color black; box; box; box ht 3*boxht '.' '.' '.' L: box; box box invisible width 2*boxwid 'hashtab: ' with .east at first box.west right Start: box width 0.5 with .sw at first box.ne + (.4,.2) '...' N1: box width .2 'n2' D1: box width .3 'd2' N3: box width .4 'n3' D3: box width .3 'd3' box width .4 '...' N2: box width .5 'n1' D2: box width .2 'd1' arrow right from second box box width boxwid/2 ht boxht/2 down; box same with .top at bottom of last box box same with .top at bottom of last box; box same spline -> right .2 from fourth last box to N1.sw + (0.05,0) spline -> right .3 from third last box to D1.sw + (0.05,0) arrow right from last box box width boxwid/2 ht boxht/2 down; box same with .top at bottom of last box box same with .top at bottom of last box; box same spline -> right .2 from fourth last box to N2.sw - (0.05,.2) \ to N2.sw + (0.05,0) spline -> right .3 from third last box to D2.sw - (0.05,.2) \ to D2.sw + (0.05,0) arrow right 2*arrowlen from L box width boxwid/2 ht boxht/2 down; box same with .top at bottom of last box box same with .top at bottom of last box; box same spline -> right .2 from fourth last box to N3.sw + (0.05,0) spline -> right .3 from third last box to D3.sw + (0.05,0) rad = .3 circle invisible 'NDBlock' at last box.east + (1.2,0) arrow dashed from last circle.west to last box.east box invisible width 2*boxwid 'NDTable: ' with .east at Start.west