code: def _get_struct_linestylearray(self, shape_number):
          
          obj = _make_object("LineStyleArray")
          obj.LineStyleCount = count = unpack_ui8(self._src)
          if count == 0xFF:
              obj.LineStyleCountExtended = count = unpack_ui16(self._src)
          obj.LineStyles = line_styles = []
  
          for _ in range(count):
              if shape_number <= 3:
                  record = _make_object("LineStyle")
                  record.Width = unpack_ui16(self._src)
                  if shape_number <= 2:
                      record.Color = self._get_struct_rgb()
                  else:
                      record.Color = self._get_struct_rgba()
              else:
                  record = _make_object("LineStyle2")
                  record.Width = unpack_ui16(self._src)
  
                  bc = BitConsumer(self._src)
                  record.StartCapStyle = bc.u_get(2)
                  record.JoinStyle = bc.u_get(2)
                  record.HasFillFlag = bc.u_get(1)
                  record.NoHScaleFlag = bc.u_get(1)
                  record.NoVScaleFlag = bc.u_get(1)
                  record.PixelHintingFlag = bc.u_get(1)
  
                  bc.u_get(5)  # reserved
                  record.NoClose = bc.u_get(1)
                  record.EndCapStyle = bc.u_get(2)
  
                  if record.JoinStyle == 2:
                      record.MiterLimitFactor = unpack_ui16(self._src)
                  if record.HasFillFlag == 0:
                      record.Color = self._get_struct_rgba()
                  else:
                      record.Color = self._get_struct_fillstyle(shape_number)
  
              line_styles.append(record)
  
          return obj
docs: Get the values for the LINESTYLEARRAY record.