| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Note: HTML format build has been disabled until separate localized-only
build will work again without requiring the en_US build.
Approved by: doceng (implicit)
|
|
|
|
| |
Approved by: doceng (implicit)
|
| |
|
|
|
|
|
|
|
| |
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=544083
|
|
|
|
|
|
|
| |
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=525902
|
|
|
|
|
|
|
| |
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=408685
|
|
|
|
|
|
|
| |
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=407044
|
|
|
|
|
|
|
| |
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=403929
|
|
|
|
|
|
|
|
|
|
|
| |
with some fixes (Add NO_ARCH knob [1]).
203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274
Submitted by: Dmitry Marakasov (amdmi3@FreeBSD.org) [1]
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=398121
|
|
|
|
| |
Notes:
svn path=/head/; revision=378455
|
|
|
|
|
|
|
| |
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=357873
|
|
|
|
|
|
|
| |
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=354559
|
|
|
|
| |
Notes:
svn path=/head/; revision=340674
|
|
|
|
|
|
|
| |
misc)
Notes:
svn path=/head/; revision=327745
|
|
|
|
|
|
|
| |
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=321809
|
|
|
|
|
|
|
| |
Approved by: doceng (implicit)
Notes:
svn path=/head/; revision=311479
|
|
articles. Each language version is available via a dedicated port.
These ports are, at first, intended to be used for re@ purposes but
can be used by anyone looking for an easy way to get packages, etc.
for docs.
These ports will be maintained by doceng@.
Approved by: doceng, re
Notes:
svn path=/head/; revision=228898
|