Modification of symbol blocks

  def a_blocks (expr p) =
    T:=identity;
    pickup PenC;
    path q, qq; q = bbox p;
    picture tmp_pic; 
    uu := max(u, (xpart urcorner q - xpart llcorner q)/100, (ypart urcorner q - ypart     llcorner q)/100);
    tmp_pic := image(
      for i = xpart llcorner q step 1.0uu until xpart urcorner q:
        for j = ypart llcorner q step 1.0uu until ypart urcorner q:
          qq := punked (((-.5uu,-.5uu)--(.5uu,-.5uu)--(.5uu,.5uu)--(-.5uu,.5uu)--cycle) 
         randomized (uu/2))
               rotated uniformdeviate(360) 
               shifted ((i,j) randomized 1.0uu);
    if xpart (p intersectiontimes qq) < 0:
      thclean qq;
      thdraw qq;
    fi;
        endfor;  
      endfor;
    );
    clip tmp_pic to p;
    draw tmp_pic;
  enddef;