DRC density check: updated doc, added tile_count option
|
|
@ -212,15 +212,19 @@ module DRC
|
|||
end
|
||||
|
||||
def tile_size(x, y = nil)
|
||||
DRCTileSize::new(_make_numeric_value(x), _make_numeric_value(y || x))
|
||||
DRCTileSize::new(_make_value(x) * self.dbu, _make_value(y || x) * self.dbu)
|
||||
end
|
||||
|
||||
def tile_step(x, y = nil)
|
||||
DRCTileStep::new(_make_numeric_value(x), _make_numeric_value(y || x))
|
||||
DRCTileStep::new(_make_value(x) * self.dbu, _make_value(y || x) * self.dbu)
|
||||
end
|
||||
|
||||
def tile_origin(x, y)
|
||||
DRCTileOrigin::new(_make_numeric_value(x), _make_numeric_value(y))
|
||||
DRCTileOrigin::new(_make_value(x) * self.dbu, _make_value(y) * self.dbu)
|
||||
end
|
||||
|
||||
def tile_count(x, y)
|
||||
DRCTileCount::new(_make_numeric_value(x), _make_numeric_value(y))
|
||||
end
|
||||
|
||||
def tile_boundary(b)
|
||||
|
|
|
|||
|
|
@ -983,8 +983,8 @@ CODE
|
|||
# @name corners
|
||||
# @brief Selects corners of polygons
|
||||
# @synopsis layer.corners([ options ])
|
||||
# @synopsis layer.corners(angle, [ options ])
|
||||
# @synopsis layer.corners(amin .. amax, [ options ])
|
||||
# @synopsis layer.corners(angle [, options ])
|
||||
# @synopsis layer.corners(amin .. amax [, options ])
|
||||
#
|
||||
# This method produces markers on the corners of the polygons. An angle criterion can be given which
|
||||
# selects corners based on the angle of the connecting edges. Positive angles indicate a left turn
|
||||
|
|
@ -3500,17 +3500,17 @@ CODE
|
|||
# %DRC%
|
||||
# @name with_density
|
||||
# @brief Returns tiles whose density is within a given range
|
||||
# @synopsis layer.with_density(min_value, max_value, [options])
|
||||
# @synopsis layer.with_density(min_value .. max_value, [options])
|
||||
# @synopsis layer.with_density(min_value, max_value [, options ])
|
||||
# @synopsis layer.with_density(min_value .. max_value [, options ])
|
||||
#
|
||||
# Runs a tiled analysis over the current layout. Reports the tiles whose density
|
||||
# This method runs a tiled analysis over the current layout. It reports the tiles whose density
|
||||
# is between "min_value" and "max_value". "min_value" and "max_value" are given in
|
||||
# relative units, i.e. within the range of 0 to 1.0 corresponding to a density of 0 to 100%.
|
||||
#
|
||||
# "min_value" or "max_value" can be nil or omitted in the ".." range notation.
|
||||
# In this case, they are taken as "0" or "100%".
|
||||
# In this case, they are taken as "0" and "100%".
|
||||
#
|
||||
# The tile size can be specified with the "tile_size" option:
|
||||
# The tile size must be specified with the "tile_size" option:
|
||||
#
|
||||
# @code
|
||||
# # reports areas where layer 1/0 density is below 10% on 20x20 um tiles
|
||||
|
|
@ -3531,16 +3531,16 @@ CODE
|
|||
# low_density = input(1, 0).density(0.0 .. 0.1, tile_size(30.um), tile_step(20.um))
|
||||
# @/code
|
||||
#
|
||||
# For "tile_step", anisotropic values can be given by using two values: the first for the
|
||||
# For "tile_step", anisotropic values can be given as well by using two values: the first for the
|
||||
# horizontal and the second for the vertical tile step.
|
||||
#
|
||||
# Another option is "tile_origin" which specifies the location of the first tile's position.
|
||||
# This is the first tile's lower left corner. If no origin is given, the tiles are centered over the
|
||||
# area to cover.
|
||||
# This is the lower left tile's lower left corner. If no origin is given, the tiles are centered over the
|
||||
# area investigated.
|
||||
#
|
||||
# By default, the tiles will cover the bounding box of the input layer. A separate layer
|
||||
# can be used instead. This way, the layout's dimensions can be derived from some
|
||||
# drawn boundary layer. To specify a separate boundary layer, use the "tile_boundary" option:
|
||||
# can be used in addition. This way, the layout's dimensions can be derived from some
|
||||
# drawn boundary layer. To specify a separate, additional layer included in the bounding box, use the "tile_boundary" option:
|
||||
#
|
||||
# @code
|
||||
# # reports density of layer 1/0 below 10% on 20x20 um tiles. The layout's boundary is taken from
|
||||
|
|
@ -3548,14 +3548,26 @@ CODE
|
|||
# cell_frame = input(0, 0)
|
||||
# low_density = input(1, 0).density(0.0 .. 0.1, tile_size(20.um), tile_boundary(cell_frame))
|
||||
# @/code
|
||||
#
|
||||
# The complementary version of "with_density" is "without_density".
|
||||
#
|
||||
# Note that the layer given in "tile_boundary" adds to the input layer for computing the bounding box.
|
||||
# The computed area is at least the area of the input layer.
|
||||
#
|
||||
# Computation of the area can be skipped by explicitly giving a tile count in horizontal and vertical
|
||||
# direction. With the "tile_origin" option this allows full control over the area covered:
|
||||
#
|
||||
# @code
|
||||
# # reports density of layer 1/0 below 10% on 20x20 um tiles in the region 0,0 .. 2000,3000
|
||||
# # (100 and 150 tiles of 20 um each are used in horizontal and vertical direction):
|
||||
# low_density = input(1, 0).density(0.0 .. 0.1, tile_size(20.um), tile_origin(0.0, 0.0), tile_count(100, 150))
|
||||
# @/code
|
||||
#
|
||||
# The complementary version of "with_density" is \without_density.
|
||||
|
||||
# %DRC%
|
||||
# @name without_density
|
||||
# @brief Returns tiles whose density is not within a given range
|
||||
# @synopsis layer.without_density(min_value, max_value, [options])
|
||||
# @synopsis layer.without_density(min_value .. max_value, [options])
|
||||
# @synopsis layer.without_density(min_value, max_value [, options ])
|
||||
# @synopsis layer.without_density(min_value .. max_value [, options ])
|
||||
#
|
||||
# For details about the operations and the operation see \with_density. This version will return the
|
||||
# tiles where the density is not within the given range.
|
||||
|
|
@ -3569,6 +3581,7 @@ CODE
|
|||
tile_size = nil
|
||||
tile_step = nil
|
||||
tile_origin = nil
|
||||
tile_count = nil
|
||||
tile_boundary = nil
|
||||
|
||||
n = 1
|
||||
|
|
@ -3579,6 +3592,8 @@ CODE
|
|||
tile_step = a.get
|
||||
elsif a.is_a?(DRCTileOrigin)
|
||||
tile_origin = a.get
|
||||
elsif a.is_a?(DRCTileCount)
|
||||
tile_count = a.get
|
||||
elsif a.is_a?(DRCTileBoundary)
|
||||
tile_boundary = a.get
|
||||
elsif a.is_a?(Float) || a.is_a?(1.class) || a == nil
|
||||
|
|
@ -3615,6 +3630,9 @@ CODE
|
|||
if tile_origin
|
||||
tp.tile_origin(*tile_origin)
|
||||
end
|
||||
if tile_count
|
||||
tp.tiles(*tile_count)
|
||||
end
|
||||
|
||||
res = RBA::Region.new
|
||||
tp.output("res", res)
|
||||
|
|
|
|||
|
|
@ -211,6 +211,16 @@ module DRC
|
|||
end
|
||||
end
|
||||
|
||||
# A wrapper for the tile_count option
|
||||
class DRCTileCount
|
||||
def initialize(*args)
|
||||
@xy = args
|
||||
end
|
||||
def get
|
||||
@xy
|
||||
end
|
||||
end
|
||||
|
||||
# A wrapper for the tile_boundary option
|
||||
class DRCTileBoundary
|
||||
def initialize(layer)
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ The following global functions are relevant for the DRC expressions:
|
|||
<li><a href="/about/drc_ref_global.xml#space">space</a> </li>
|
||||
<li><a href="/about/drc_ref_global.xml#squares">squares</a> </li>
|
||||
<li><a href="/about/drc_ref_global.xml#width">width</a> </li>
|
||||
<li><a href="/about/drc_ref_global.xml#with_holes">with_holes</a> </li>
|
||||
</ul>
|
||||
</p><p>
|
||||
The following documentation will list the methods available for DRC expression objects.
|
||||
|
|
@ -921,6 +922,22 @@ out = in.drc(primary.squares) # equivalent
|
|||
This method acts on edge expressions and delivers a specific part of each edge.
|
||||
See <a href="/about/drc_ref_layer.xml#start_segments">layer#start_segments</a> for details about this functionality.
|
||||
</p>
|
||||
<a name="with_holes"/><h2>"with_holes" - Selects all input polygons with the specified number of holes</h2>
|
||||
<keyword name="with_holes"/>
|
||||
<p>Usage:</p>
|
||||
<ul>
|
||||
<li><tt>expression.with_holes (in condition)</tt></li>
|
||||
</ul>
|
||||
<p>
|
||||
This operation can be used as a plain function in which case it acts on primary
|
||||
shapes or can be used as method on another DRC expression.
|
||||
The following example selects all polygons with more than 2 holes:
|
||||
</p><p>
|
||||
<pre>
|
||||
out = in.drc(with_holes > 2)
|
||||
out = in.drc(primary.with_holes > 2) # equivalent
|
||||
</pre>
|
||||
</p>
|
||||
<a name="|"/><h2>"|" - Boolean OR between the results of two expressions</h2>
|
||||
<keyword name="|"/>
|
||||
<p>Usage:</p>
|
||||
|
|
|
|||
|
|
@ -1775,6 +1775,15 @@ In verbose mode, more output is generated in the log file
|
|||
<p>
|
||||
In verbose mode, more output is generated in the log file
|
||||
</p>
|
||||
<a name="warn"/><h2>"warn" - Prints a warning</h2>
|
||||
<keyword name="warn"/>
|
||||
<p>Usage:</p>
|
||||
<ul>
|
||||
<li><tt>warn(message)</tt></li>
|
||||
</ul>
|
||||
<p>
|
||||
Similar to <a href="#log">log</a>, but the message is printed formatted as a warning
|
||||
</p>
|
||||
<a name="width"/><h2>"width" - Performs a width check</h2>
|
||||
<keyword name="width"/>
|
||||
<p>Usage:</p>
|
||||
|
|
@ -1847,6 +1856,17 @@ shape.
|
|||
</tr>
|
||||
</table>
|
||||
</p>
|
||||
<a name="with_holes"/><h2>"with_holes" - Selects all input polygons according to their number of holes in DRC expressions</h2>
|
||||
<keyword name="with_holes"/>
|
||||
<p>Usage:</p>
|
||||
<ul>
|
||||
<li><tt>with_holes (in condition)</tt></li>
|
||||
</ul>
|
||||
<p>
|
||||
"with_holes" represents a polygon selector for
|
||||
<a href="/about/drc_ref_drc.xml">DRC</a> expressions selecting polygons of the primary by their number of holes
|
||||
(see <a href="/about/drc_ref_layer.xml#drc">Layer#drc</a> and <a href="/about/drc_ref_drc.xml#with_holes">DRC#with_holes</a> for more details).
|
||||
</p>
|
||||
<a name="write_spice"/><h2>"write_spice" - Defines SPICE output format (with options)</h2>
|
||||
<keyword name="write_spice"/>
|
||||
<p>Usage:</p>
|
||||
|
|
|
|||
|
|
@ -247,8 +247,8 @@ deliver objects that can be converted into polygons. Such objects are of class <
|
|||
<p>Usage:</p>
|
||||
<ul>
|
||||
<li><tt>layer.corners([ options ])</tt></li>
|
||||
<li><tt>layer.corners(angle, [ options ])</tt></li>
|
||||
<li><tt>layer.corners(amin .. amax, [ options ])</tt></li>
|
||||
<li><tt>layer.corners(angle [, options ])</tt></li>
|
||||
<li><tt>layer.corners(amin .. amax [, options ])</tt></li>
|
||||
</ul>
|
||||
<p>
|
||||
This method produces markers on the corners of the polygons. An angle criterion can be given which
|
||||
|
|
@ -3074,6 +3074,86 @@ bounding box.
|
|||
</p><p>
|
||||
This method is available for polygon layers only.
|
||||
</p>
|
||||
<a name="with_density"/><h2>"with_density" - Returns tiles whose density is within a given range</h2>
|
||||
<keyword name="with_density"/>
|
||||
<p>Usage:</p>
|
||||
<ul>
|
||||
<li><tt>layer.with_density(min_value, max_value [, options ])</tt></li>
|
||||
<li><tt>layer.with_density(min_value .. max_value [, options ])</tt></li>
|
||||
</ul>
|
||||
<p>
|
||||
This method runs a tiled analysis over the current layout. It reports the tiles whose density
|
||||
is between "min_value" and "max_value". "min_value" and "max_value" are given in
|
||||
relative units, i.e. within the range of 0 to 1.0 corresponding to a density of 0 to 100%.
|
||||
</p><p>
|
||||
"min_value" or "max_value" can be nil or omitted in the ".." range notation.
|
||||
In this case, they are taken as "0" and "100%".
|
||||
</p><p>
|
||||
The tile size must be specified with the "tile_size" option:
|
||||
</p><p>
|
||||
<pre>
|
||||
# reports areas where layer 1/0 density is below 10% on 20x20 um tiles
|
||||
low_density = input(1, 0).density(0.0 .. 0.1, tile_size(20.um))
|
||||
</pre>
|
||||
</p><p>
|
||||
Anisotropic tiles can be specified by giving two values, like "tile_size(10.um, 20.um)".
|
||||
The first value is the horizontal tile dimension, the second value is the vertical tile
|
||||
dimension.
|
||||
</p><p>
|
||||
A tile overlap can be specified using "tile_step". If the tile step is less than the
|
||||
tile size, the tiles will overlap. The layout window given by "tile_size" is moved
|
||||
in increments of the tile step:
|
||||
</p><p>
|
||||
<pre>
|
||||
# reports areas where layer 1/0 density is below 10% on 30x30 um tiles
|
||||
# with a tile step of 20x20 um:
|
||||
low_density = input(1, 0).density(0.0 .. 0.1, tile_size(30.um), tile_step(20.um))
|
||||
</pre>
|
||||
</p><p>
|
||||
For "tile_step", anisotropic values can be given as well by using two values: the first for the
|
||||
horizontal and the second for the vertical tile step.
|
||||
</p><p>
|
||||
Another option is "tile_origin" which specifies the location of the first tile's position.
|
||||
This is the lower left tile's lower left corner. If no origin is given, the tiles are centered over the
|
||||
area investigated.
|
||||
</p><p>
|
||||
By default, the tiles will cover the bounding box of the input layer. A separate layer
|
||||
can be used in addition. This way, the layout's dimensions can be derived from some
|
||||
drawn boundary layer. To specify a separate, additional layer included in the bounding box, use the "tile_boundary" option:
|
||||
</p><p>
|
||||
<pre>
|
||||
# reports density of layer 1/0 below 10% on 20x20 um tiles. The layout's boundary is taken from
|
||||
# layer 0/0:
|
||||
cell_frame = input(0, 0)
|
||||
low_density = input(1, 0).density(0.0 .. 0.1, tile_size(20.um), tile_boundary(cell_frame))
|
||||
</pre>
|
||||
</p><p>
|
||||
Note that the layer given in "tile_boundary" adds to the input layer for computing the bounding box.
|
||||
The computed area is at least the area of the input layer.
|
||||
</p><p>
|
||||
Computation of the area can be skipped by explicitly giving a tile count in horizontal and vertical
|
||||
direction. With the "tile_origin" option this allows full control over the area covered:
|
||||
</p><p>
|
||||
<pre>
|
||||
# reports density of layer 1/0 below 10% on 20x20 um tiles in the region 0,0 .. 2000,3000
|
||||
# (100 and 150 tiles of 20 um each are used in horizontal and vertical direction):
|
||||
low_density = input(1, 0).density(0.0 .. 0.1, tile_size(20.um), tile_origin(0.0, 0.0), tile_count(100, 150))
|
||||
</pre>
|
||||
</p><p>
|
||||
The complementary version of "with_density" is <a href="#without_density">without_density</a>.
|
||||
</p>
|
||||
<a name="with_holes"/><h2>"with_holes" - Selects all polygons with the specified number of holes</h2>
|
||||
<keyword name="with_holes"/>
|
||||
<p>Usage:</p>
|
||||
<ul>
|
||||
<li><tt>layer.with_holes(count)</tt></li>
|
||||
<li><tt>layer.with_holes(min_count, max_count)</tt></li>
|
||||
<li><tt>layer.with_holes(min_count .. max_count)</tt></li>
|
||||
</ul>
|
||||
<p>
|
||||
This method is available for polygon layers. It will select all polygons from the input layer
|
||||
which have the specified number of holes.
|
||||
</p>
|
||||
<a name="with_length"/><h2>"with_length" - Selects edges by their length</h2>
|
||||
<keyword name="with_length"/>
|
||||
<p>Usage:</p>
|
||||
|
|
@ -3228,6 +3308,29 @@ bounding box.
|
|||
</p><p>
|
||||
This method is available for polygon layers only.
|
||||
</p>
|
||||
<a name="without_density"/><h2>"without_density" - Returns tiles whose density is not within a given range</h2>
|
||||
<keyword name="without_density"/>
|
||||
<p>Usage:</p>
|
||||
<ul>
|
||||
<li><tt>layer.without_density(min_value, max_value [, options ])</tt></li>
|
||||
<li><tt>layer.without_density(min_value .. max_value [, options ])</tt></li>
|
||||
</ul>
|
||||
<p>
|
||||
For details about the operations and the operation see <a href="#with_density">with_density</a>. This version will return the
|
||||
tiles where the density is not within the given range.
|
||||
</p>
|
||||
<a name="without_holes"/><h2>"without_holes" - Selects all polygons with the specified number of holes</h2>
|
||||
<keyword name="without_holes"/>
|
||||
<p>Usage:</p>
|
||||
<ul>
|
||||
<li><tt>layer.without_holes(count)</tt></li>
|
||||
<li><tt>layer.without_holes(min_count, max_count)</tt></li>
|
||||
<li><tt>layer.without_holes(min_count .. max_count)</tt></li>
|
||||
</ul>
|
||||
<p>
|
||||
This method is available for polygon layers. It will select all polygons from the input layer
|
||||
which do not have the specified number of holes.
|
||||
</p>
|
||||
<a name="without_length"/><h2>"without_length" - Selects edges by the their length</h2>
|
||||
<keyword name="without_length"/>
|
||||
<p>Usage:</p>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 7.0 KiB |