Age | Commit message (Collapse) | Author |
|
Rather than messing with actual inheritence, add type-checking wrappers
and just blatantly cast to incomplete types. Along the way, this points
out places where we would downcast without checking, which I fix.
Change-Id: Ieb303eb46ad8522dfe082454f1f10f247ffd52d5
Reviewed-on: https://pdfium-review.googlesource.com/32030
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Use strict typing for FPDF_Page to ensure we don't fall into
code that expects the other page type when continuing from null
context case.
Change-Id: I7f028ef3e3d733f5557620030a87e22997da00d5
Reviewed-on: https://pdfium-review.googlesource.com/31770
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Greatly minimize the impact between going back and forth from
XFA being on/off, so that XFA case is just an extension beyond
the non-XFA data structures we've shipped for years, instead of
being a complete replacement of them.
Change-Id: I6c98206e0ec99ea443547a4931eba912b1764d54
Reviewed-on: https://pdfium-review.googlesource.com/31690
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
The existing PostScript modes write data into EMF comments. This
satisfies Chromium's use case, but other embedders want to write data
out via ExtEscape() in PASSTHROUGH mode.
BUG=pdfium:1068
Change-Id: I998035e99fbb84b16dcd244b750b476cecc3bd22
Reviewed-on: https://pdfium-review.googlesource.com/31299
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
|
|
Applies std::remove_ptr to the public API types so that we can
deduce a correct unique ptr type no matter how that API might
change away from void* usage.
Creates shorter names for std::unique_ptr<std::remove_pointer<>, ...>
Change-Id: I04a0ff43cb7d5a4d3867939a53a54c9cef00db86
Reviewed-on: https://pdfium-review.googlesource.com/31292
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Bug: pdfium:1037
Change-Id: I05f992d2a4ee5a11b5c57ec51107c4b00011809c
Reviewed-on: https://pdfium-review.googlesource.com/31190
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
New calls added in this cl:
- FPDFPageObjMark_GetParamKey
- FPDFPageObjMark_GetParamValueType
- FPDFPageObjMark_GetParamIntValue
Bug: pdfium:1037
Change-Id: Iedb74ddbf8a5483de62094ec295dadd6367d5175
Reviewed-on: https://pdfium-review.googlesource.com/30912
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Add FORM_CanUndo(), FORM_CanRedo(), FORM_Undo(), and FORM_Redo().
BUG=chromium:764260
Change-Id: I1d9ea67152d9b35d9b8e1d7ef7d019706fdfa30a
Reviewed-on: https://pdfium-review.googlesource.com/30872
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Bug: pdfium:1037
Change-Id: I1b7035eb199f9dd1d730b0b1112aa455f0fabcc2
Reviewed-on: https://pdfium-review.googlesource.com/30870
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
If there is a focused form field, get its text.
BUG=chromium:753216
Change-Id: I05294f14d05c1c86769055f6c9eaf9177787d9fd
Reviewed-on: https://pdfium-review.googlesource.com/12072
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This is needed for working with multiline text markup
annotations.
Based on https://pdfium-review.googlesource.com/12012.
Bug: pdfium:1045
Change-Id: Ifb105996b8b950bb2d5fceaf754b4f571155aef4
Reviewed-on: https://pdfium-review.googlesource.com/29150
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
Do the same for FPDF_PageToDevice(). Clean up the internal
implementation as well.
Change-Id: Ia207bfa779d144cb9f0310e768750ab10e603b8f
Reviewed-on: https://pdfium-review.googlesource.com/17370
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Keeping the internal widget details, since they are likely needed for
wiring up XFA with the other form APIs.
BUG=pdfium:1056
Change-Id: I000468e27bbb59346c4288f1c4f0fe96ed5f3603
Reviewed-on: https://pdfium-review.googlesource.com/29870
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
The existing code for spellchecking is non-functional and we are not
planning on fixing/finishing it, so removing it, since it currently is
marking everything as misspelt.
BUG=pdfium:1054
Change-Id: I23aaa13c09aed483376d7d06f47fdf31d890786b
Reviewed-on: https://pdfium-review.googlesource.com/29790
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This experimental API has been superceded by FPDF_SetPrintMode().
Change-Id: I41f8efbb2f40edea60df55c36f7ee3743ac20839
Reviewed-on: https://pdfium-review.googlesource.com/29510
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Initially it contains:
- FPDFPageObj_CountMarks
- FPDFPageObj_GetMark
- FPDFPageObjMark_GetName
This allows reading the content marks from a page object.
Bug: pdfium:1037
Change-Id: I3d7554b71f938778890fdb44088e0d45dd2718d9
Reviewed-on: https://pdfium-review.googlesource.com/28710
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
This reverts commit ac3e57eee888904d39a07b58ca7d57f8f8b0e51a.
Reason for revert: Tried to reproduce on win bot, 10/10 passed.
Relanding, hopefully it was just a hiccup.
Original change's description:
> Revert "Add FPDFAnnot_CountAttachmentPoints"
>
> This reverts commit ca28cb636331de447125de476decbec333fe613b.
>
> Reason for revert: broke Windows embeddertests
>
> https://build.chromium.org/p/client.pdfium/builders/windows/builds/4622
>
> I got it when landing my CL, which is unrelated. Since this CL passed the bot, I'm guessing it's a flaky test?
>
> Original change's description:
> > Add FPDFAnnot_CountAttachmentPoints
> >
> > This CL adds a function to the API that returns the number of quadpoint
> > sets.
> >
> > Change-Id: I999bc567a4c98f6c32e87810e7ecfbb634c7b677
> > Reviewed-on: https://pdfium-review.googlesource.com/29130
> > Reviewed-by: Lei Zhang <thestig@chromium.org>
> > Commit-Queue: Lei Zhang <thestig@chromium.org>
>
> TBR=thestig@chromium.org,dsinclair@chromium.org,ralf.sippl@gmail.com
>
> Change-Id: Id96b5d4e18be2184c9d24f77bda7499aad0ed211
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://pdfium-review.googlesource.com/29190
> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
TBR=thestig@chromium.org,dsinclair@chromium.org,ralf.sippl@gmail.com,hnakashima@chromium.org
Change-Id: Ie586552b355ef1f040ae162a539a6b9ebf50d125
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://pdfium-review.googlesource.com/29210
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This reverts commit ca28cb636331de447125de476decbec333fe613b.
Reason for revert: broke Windows embeddertests
https://build.chromium.org/p/client.pdfium/builders/windows/builds/4622
I got it when landing my CL, which is unrelated. Since this CL passed the bot, I'm guessing it's a flaky test?
Original change's description:
> Add FPDFAnnot_CountAttachmentPoints
>
> This CL adds a function to the API that returns the number of quadpoint
> sets.
>
> Change-Id: I999bc567a4c98f6c32e87810e7ecfbb634c7b677
> Reviewed-on: https://pdfium-review.googlesource.com/29130
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Commit-Queue: Lei Zhang <thestig@chromium.org>
TBR=thestig@chromium.org,dsinclair@chromium.org,ralf.sippl@gmail.com
Change-Id: Id96b5d4e18be2184c9d24f77bda7499aad0ed211
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://pdfium-review.googlesource.com/29190
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL adds a function to the API that returns the number of quadpoint
sets.
Change-Id: I999bc567a4c98f6c32e87810e7ecfbb634c7b677
Reviewed-on: https://pdfium-review.googlesource.com/29130
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Also fix some comments.
Change-Id: Ib42dcf04906139020bdbdfe86e6088faa1c31daa
Reviewed-on: https://pdfium-review.googlesource.com/28830
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: Ic312c540dcdc19d0c81ae85a7c5b201a00bacf7f
Reviewed-on: https://pdfium-review.googlesource.com/28730
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
This call removes a page object from a page. We currently offer an
API to insert these objects, but not to remove.
Bug: pdfium:1037
Change-Id: I35ff596f9e7c87a39051f0cb1de40a5bec40fee5
Reviewed-on: https://pdfium-review.googlesource.com/28492
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Use it in existing code where appropriate.
BUG=chromium:808269
Change-Id: I55b67db05267f4f05a98c9bf8bbd43f6524cbc65
Reviewed-on: https://pdfium-review.googlesource.com/25210
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Bug: pdfium:938
Change-Id: Ic530788313157ce2513f91217705401da7a05ef8
Reviewed-on: https://pdfium-review.googlesource.com/25030
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
FPDFDest_GetDestPageIndex() has a well defined return value for
errors (-1). Keeping FPDFDest_GetPageIndex() to avoid changing
behavior of the old API for whoever relies on it.
Bug: pdfium:938
Change-Id: Iad528923cb156e957a419540c262a65f45cb777d
Reviewed-on: https://pdfium-review.googlesource.com/24811
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
FPDF_ImportNPagesToOne function is added to support N-up feature
for print.
If numPagesOnXAxis * numPagesOnYAxis == 0
Returns a nullptr.
If numPagesOnXAxis * numPagesOnYAxis == 1
Creates a new PDF document, and import one page to each output
page of the PDF document
If numPagesOnXAxis * numPagesOnYAxis > 1,
FPDF_ImportNPagesToOne imports multiple pages onto the same page.
This feature is intended for print pipeline to use.
Change-Id: Iec1afffe377ff9b7fef3cb33414b29b324154fa4
Reviewed-on: https://pdfium-review.googlesource.com/22050
Commit-Queue: Shirleen Lou <xlou@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I3ee754c2875b6ea28750803dbd8e4d9fe6dd1d41
Reviewed-on: https://pdfium-review.googlesource.com/24570
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
- Update public API documentation.
- Fix nits in the implementation.
Change-Id: I4c7af07b0ec178a5986f45652663f48491b7d078
Reviewed-on: https://pdfium-review.googlesource.com/24330
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This API returns the intersection of the media box and the crop box
of a page.
Bug: pdfium:973
Change-Id: I57a19ee526ea6d4cd621e1ad6019e51f69f92308
Reviewed-on: https://pdfium-review.googlesource.com/22810
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This adds to form field types specific types for XFA form fields to be
used instead of the generic XFA value when possible.
BUG=pdfium:952,chromium:763129,chromium:592758
Change-Id: I8d1cff6a280d71db348b7c31a251cbe2e398ec79
Reviewed-on: https://pdfium-review.googlesource.com/22677
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
Change-Id: I29a164f3d7b42a0918a8c559c5de23febcaa311a
Reviewed-on: https://pdfium-review.googlesource.com/22850
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Within PDFium use enum class for better type safety when working with
form field types. These values will still be converted to ints as part
of the public API, since that is the existing API.
This work is preperation for extending the number of form field types
to have more specific entries for XFA.
BUG=pdfium:952,chromium:763129,chromium:592758
Change-Id: Ie6c29f02ae22be782ff36eb87d27f1a4bf2c099e
Reviewed-on: https://pdfium-review.googlesource.com/22742
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
Change-Id: I6de3e4e158a8b0276775c0915cbe53417135eec3
Reviewed-on: https://pdfium-review.googlesource.com/22570
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Change-Id: I5cb28dfd6b1e5670fc20093c5d2f9757ad6a4060
Reviewed-on: https://pdfium-review.googlesource.com/22830
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
BUG=pdfium:858
Change-Id: Id8b6c032d60894eaf14ae0ba52098a60b2485fca
Reviewed-on: https://pdfium-review.googlesource.com/22731
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
BUG=pdfium:858
Change-Id: Idc9900fe6f85b1fef06c97f5023653f77156d410
Reviewed-on: https://pdfium-review.googlesource.com/22730
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Fix a bunch of nits as well.
Change-Id: I874f9b1d4676823635aad8986fcf23a11ae6efd9
Reviewed-on: https://pdfium-review.googlesource.com/22473
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
The matching FPDFAnnot_SetAP will be added in a subsequent CL.
Change-Id: If567e02c6c56138d218498879cb4a8ee91dff080
Reviewed-on: https://pdfium-review.googlesource.com/22450
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
BUG=pdfium:858
Change-Id: Ib8effb64a1622feb2837f536b36b9e46847a2210
Reviewed-on: https://pdfium-review.googlesource.com/22631
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
- Adds two new public bits of API:
- StructElement_GetMCID(STRUCTELEMENT) to return the marked content
ID of the struct element.
- IMAGEOBJ_METADATA.mcid to contain the marked content ID of the
image.
- Restores ContentMark::GetMCID, which was removed with other dead
code in https://pdfium-review.googlesource.com/c/pdfium/+/19170.
- Adds a couple calls to tests, including a simple new PDF to test
the struct tree marked content ID.
Bug:pdfium:957
Change-Id: I92856e43d741df989e53a575a08258da19a39f22
Reviewed-on: https://pdfium-review.googlesource.com/20632
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
FPDFDest_GetView returns the view fit type and the parameters of the
view for a given destination.
This is useful to have more precise internal links and bookmarks that
are able to manipulate the viewport position and zoom level to focus
on the part of the PDF that it links to.
Bug: 55776, 535978, 748852
Change-Id: Ibf7df40a852030d75ec78cec7662380319569850
Reviewed-on: https://pdfium-review.googlesource.com/21790
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
Add a presubmit check to prevent future missing entries. Also fix an
erroneous header entry.
Change-Id: I8aeafd820de984f5af90b3e4ea428f582e82f254
Reviewed-on: https://pdfium-review.googlesource.com/21571
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Add checks for matrix and clipRect in function
FPDFPage_TransFormWithClip. If both are null,
abort transformation. If either is null, skip
that particular transaction.
Change-Id: I65611508c064c0b929a11eace99ad532d3402138
Reviewed-on: https://pdfium-review.googlesource.com/18710
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This CL removes the single use case from |m_bFlagExact|. This flag
allows the PDF viewer to treat a substitute font with a matching name as
if it was actually an embedded font, which is wrong. For all substitute
fonts, it is important to follow the longer process of first obtaining
the unicode from the charcode to then obtain the glyph in the substitute
font that corresponds to that unicode.
Bug: chromium:781785
Change-Id: Ie5958b43914e0e46334b89b7c2c55c02d0da0c11
Reviewed-on: https://pdfium-review.googlesource.com/17859
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
|
|
BUG=chromium:775519,chromium:768986
Adding metric form types
Change-Id: Ic99a5ac988998986f06cb79d08458afeda49a5d1
Reviewed-on: https://pdfium-review.googlesource.com/16392
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
The existing API is too restrictive for collection the metrics
information that we want. Specifically it only tells us if there are
XFA forms in the document, but not AcroForms. This refactoring makes
the method more general, so that non-XFA information is provided
also. This change in semantics of the return value required some
changes at the call sites of the API.
BUG=chromium:775519
Change-Id: Id421c66c09b47196c252c64cdc2c711ca1911de0
Reviewed-on: https://pdfium-review.googlesource.com/16210
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
The existing types are PDF, Dynamic & Static, which are poorly named
since they don't really convey the fundamental differences between the
types. "PDF" is confusing because PDFium only handles PDFs, and
"Dynamic" & "Static" describe what a form may do, not how it is
specified or some other fundamental difference. The terms "Dynamic"
and "Static" were especially confusing, since XFAF documents must be
static by definition, whereas full XFA documents can be either
dynamic or static, depending on whether or not they change their
layout.
The types have been renamed to be clear that they are talking about
the type of PDF document being described. "PDF" becomes "None", since
this is used to indicate that there are no XFA forms in the
document. "Dynamic" becomes "Full", since this indicates that the
entire XFA spec is being used for the forms, specifically display
layout is in the XML. "Static" has become "ForegroundOnly", since the
form is specified using the XFAF (XFA Foreground) subset of the spec.
The terms Full & Foreground come from the XFA spec. I would have
preferred XFAF to have a different name, since it is the
display/foreground layer that isn't XFA when using it.
BUG=pdfium:917
Change-Id: I4335958c4a11d77d3bbe63b93602dd5bc14acb57
Reviewed-on: https://pdfium-review.googlesource.com/16010
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
The new fpdf_catalog.h will contains functions to access entries in
the catalog (root) dict in a PDF.
Bug: chromium:768986
Change-Id: I6e1d4a479d6f8742981e89f07bab98ee96dc3763
Reviewed-on: https://pdfium-review.googlesource.com/15970
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Moves the PDFium API method FPDF_HasXFAField out from behind the XFA feature
flag so that XFA metrics can be generated without enabling the entire
feature. Changes some of the constant names to be more accurate.
BUG=pdfium:917
Change-Id: I6d8fe9fd88d392d028de2504d39d978de4a1d5b7
Reviewed-on: https://pdfium-review.googlesource.com/15990
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This is allow us check document/pages/form availability using
FPDFAvail_IsXXAvail without download requests.
Change-Id: Ie4525147d8b8e98573d53b2e5b456b632a8a1951
Reviewed-on: https://pdfium-review.googlesource.com/13030
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
|