Re: [BLACKBOX] How to 'embed'

From: Campbell, Robert (SELEX GALILEO, UK) <robert.d.campbell{([at]})nowhere.xy>
Date: Wed, 5 Oct 2011 09:02:44 +0100

----boundary-LibPST-iamunique-128623131_-_-
Content-type: text/plain

Doug
 
If your Model contains a View I guess it must have Fields ...
 
MyModel = POINTER TO RECORD (Models.Model)
  PrivateStuff;
  xPos, yPos: INTEGER;
  view: Views.View
END;

so that it knows what View, & where,

and some View type ...

MyView = POINTER TO RECORD (Views.View)
            m : MyModel
          END;


You ask about 'rendering', so I guess (again!) you are asking about the
Restore procedure.

You could try something like:


PROCEDURE (v: MyView) Restore (f: Ports.Frame; l, t, r, b: INTEGER);
        VAR g: Views.Frame;
        BEGIN
            DrawMyPrivateStuff;

                WITH f: Views.Frame DO
                        Views.InstallFrame(f, v.m.view, v.m.xPos,
v.m.yPos, 0, TRUE);
                        g := Views.ThisFrame(f, v.m.view);
                        IF g # NIL THEN v.m.view.Restore(g, l, t, r, b)
END
                END
        END Restore;



I haven't tried this code EXACTLY as presented, but it comes from an
'off-the-cuff' simplifying of code I
have used, and published, in //Escher/Mod/ViewFigs.odc.

Good luck,

Robert


PS - If you want your embedded Views to respond to all kinds of mouse
clicks and focus issues, that is rather more work.


________________________________

        From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy
Josef Templ
        Sent: 05 October 2011 08:07
        To: BLACKBOX{([at]})nowhere.xy
        Subject: Re: [BLACKBOX] How to 'embed'
        
        
                            *** WARNING ***
        
        This message has originated outside your organisation,
          either from an external partner or the Global Internet.
              Keep this in mind if you answer this message.
        
        I have not done this myself, but from the docu and interafces it
seems that
        the embedding mechanism is embodied in the module 'Containers'.
        TextModels.Model extends Containers.Model and TextViews.View
extends Containers.View,
        for example.
        So I guess your own model and corresponding view would need to
be subclassed
        in the same way in order to support embedding.
        Good luck.
         
        - Josef
        

                ----- Original Message -----
                From: Douglas G. Danforth
<mailto:danforth{([at]})nowhere.xy
                To: BLACKBOX{([at]})nowhere.xy
                Sent: Tuesday, October 04, 2011 11:47 PM
                Subject: Re: [BLACKBOX] How to 'embed'

                Wojtek,
                I used that language because in the documentation for
Models it says
                
                "A model may be a container, i.e., contain embedded
views. An embedded view can communicate with the model in which it is
embedded via a Context.
                A container model provides a context for each embedded
view. Using its context, a view can inquire its current size, or it can
try to change its size."
                
                Josef,
                You said "You can do this also with your own model but
the view used for displaying your model must be aware of
                embedded views and render everything accordingly."
                
                From that I infer that there is no general mechanism for
ebbedding. Each model must handle it specifically.
                Now I am up a creek since I do not know how to put a
view, v(small v) at a specific place within its container
                view, V(big v). I know how to do this for FormViews
(again a specific case) by using a FormControllers
                and using its Insert procedure which takes l, t, r, b
coordinates. I tried tracking the logic of that through the
                code and got lost after descending many modules.
                
                I'll take a look at TextModels and hopefully find a way
to generalize embedding in a bland view which does
                not have a model (or at list a model that is extremely
primitive).
                
                Thank you.
                
                -Doug
                
                On 10/4/2011 1:21 AM, Josef Templ wrote:

                        Actually, it depends on the capabilities of the
model.
                        A TextModels.Model, for example, provides means
for
                        embedding an arbitray Views.View into the
character stream (see TextModels.Writer.WriteView).
                        You can do this also with your own model but the
view used for displaying your model must be aware of
                        embedded views and render everything
accordingly.
                        Rendering the embedded views will typically be
delegated to the embedded views, though.
                        
                        - JT
                        
                        
                        
                        
                        ----- Original Message ----- From: "Wojtek
Skulski" <skulski{([at]})nowhere.xy

                        To: <BLACKBOX{([at]})nowhere.xy
<mailto:BLACKBOX{([at]})nowhere.xy
                        Sent: Tuesday, October 04, 2011 6:42 AM
                        Subject: Re: [BLACKBOX] How to 'embed'
                        
                        
                        "embedding of one view into a model" is a self
contradiction.
                        
                        The model provides data "1, 2, 3, 4...". The
data makes no assumptions how
                        it will be displayed, or whether it will be
displayed at all.
                        
                        The view imports the model. So it knows the
details of the model (array,
                        record, list, double-linked-list, DAG, or any
other fancy structure).
                        However, there is a firm assumption that no
details about the display go
                        into the model. The model can only provide the
numbers, but no details
                        about the display.
                        
                        The Model-View separayion means the separation
of concerns. The model can
                        calculate. The view can display the results of
calculations.
                        
                        Your question is breaking the separation. You
are trying to put the
                        imported concerns back into the importee. This
has to lead to circular
                        data structures. Hence, it is not implementable.

                        
                        W.
                        
                        
                        

                                                    Folks,
                                
                                     I am old and tired of poking
through documentation and code.
                                     So if you can please help me out it
would be greatly appreciated.
                                
                                     If you search the BB documentation
for the word 'embed' you find
                                     many hits. But no where does it
explicitly state the steps needed
                                     to do an embedding of one view into
a model.
                                
                                     What are the least number of steps
to embed a view into a model?
                                
                                     =
                                     My paltry efforts center around
                                
                                     Views.InstallFrame(f, view, l, t,
level, focus);
                                
                                     That is, given the frame (f) of the
view in which one wants to embed
                                     the view 'view' one does the above.
BUT BB complains that view
                                     does not have a context nor a
domain. Well that is what I was
                                hoping
                                     the InstallFrame procedure would
provide to view.
                                
                                     So I can start and assign a context
to view taken from the context
                                 of
                                     f.view.context BUT I believe that
is wrong.
                                
                                     Given a bare extension of
Views.View with no additional structure
                                     TYPE View = POINTER TO
RECORD(Views.View) END;
                                     as the container view I wish to
embed arbitrary other Views.View
                                     as the contained view AND when the
container view is restored
                                     (which unto itself does nothing)
how do I get all of the contained
                                 views
                                     to restore themselves (or does that
happen automatically OR do I
                                     need to forward a message)?
                                
                                     Doug
                                
                                
                                 ---- To unsubscribe, send a message
with body "SIGNOFF BLACKBOX" to
                                LISTSERV{([at]})nowhere.xy
                                



                        ----
                        To unsubscribe, send a message with body
"SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
                        
                        
                        ----
                        To unsubscribe, send a message with body
"SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
                        
                        

                ---- To unsubscribe, send a message with body "SIGNOFF
BLACKBOX" to LISTSERV{([at]})nowhere.xy

        ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX"
to LISTSERV{([at]})nowhere.xy

SELEX Galileo Ltd
Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS14 3EL
A company registered in England & Wales. Company no. 02426132
********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-128623131_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIERvdWdccGFyDQogXHBhcg0KSWYgeW91ciBNb2Rl
bCBjb250YWlucyBhIFZpZXcgSSBndWVzcyBpdCBtdXN0IGhhdmUgRmllbGRzIC4uLlxwYXINCiBc
cGFyDQpNeU1vZGVsID0gUE9JTlRFUiBUTyBSRUNPUkQgKE1vZGVscy5Nb2RlbClccGFyDQogIFBy
aXZhdGVTdHVmZjtccGFyDQogIHhQb3MsIHlQb3M6IElOVEVHRVI7XHBhcg0KICB2aWV3OiBWaWV3
cy5WaWV3XHBhcg0KRU5EO1xwYXINClxwYXINCnNvIHRoYXQgaXQga25vd3Mgd2hhdCBWaWV3LCAm
IHdoZXJlLFxwYXINClxwYXINCmFuZCBzb21lIFZpZXcgdHlwZSAuLi5ccGFyDQpccGFyDQpNeVZp
ZXcgID0gUE9JTlRFUiBUTyBSRUNPUkQgKFZpZXdzLlZpZXcpXHBhcg0KICAgICAgICAgICAgbSA6
IE15TW9kZWxccGFyDQogICAgICAgICAgRU5EO1xwYXINClxwYXINClxwYXINCllvdSBhc2sgYWJv
dXQgJ3JlbmRlcmluZycsIHNvIEkgZ3Vlc3MgKGFnYWluISkgeW91IGFyZSBhc2tpbmcgYWJvdXQg
dGhlXHBhcg0KUmVzdG9yZSBwcm9jZWR1cmUuXHBhcg0KXHBhcg0KWW91IGNvdWxkIHRyeSBzb21l
dGhpbmcgbGlrZTpccGFyDQpccGFyDQpccGFyDQpQUk9DRURVUkUgKHY6IE15VmlldykgUmVzdG9y
ZSAoZjogUG9ydHMuRnJhbWU7IGwsIHQsIHIsIGI6IElOVEVHRVIpO1xwYXINClx0YWIgVkFSIGc6
IFZpZXdzLkZyYW1lO1xwYXINClx0YWIgQkVHSU5ccGFyDQogICAgICAgICAgICBEcmF3TXlQcml2
YXRlU3R1ZmY7XHBhcg0KXHBhcg0KXHRhYiBcdGFiIFdJVEggZjogVmlld3MuRnJhbWUgRE9ccGFy
DQpcdGFiIFx0YWIgXHRhYiBWaWV3cy5JbnN0YWxsRnJhbWUoZiwgdi5tLnZpZXcsIHYubS54UG9z
LFxwYXINCnYubS55UG9zLCAwLCBUUlVFKTtccGFyDQpcdGFiIFx0YWIgXHRhYiBnIDo9IFZpZXdz
LlRoaXNGcmFtZShmLCB2Lm0udmlldyk7XHBhcg0KXHRhYiBcdGFiIFx0YWIgSUYgZyAjIE5JTCBU
SEVOIHYubS52aWV3LlJlc3RvcmUoZywgbCwgdCwgciwgYilccGFyDQpFTkRccGFyDQpcdGFiIFx0
YWIgRU5EXHBhcg0KXHRhYiBFTkQgUmVzdG9yZTtccGFyDQpccGFyDQpccGFyDQpccGFyDQpJIGhh
dmVuJ3QgdHJpZWQgdGhpcyBjb2RlIEVYQUNUTFkgYXMgcHJlc2VudGVkLCBidXQgaXQgY29tZXMg
ZnJvbSBhblxwYXINCidvZmYtdGhlLWN1ZmYnIHNpbXBsaWZ5aW5nIG9mIGNvZGUgSVxwYXINCmhh
dmUgdXNlZCwgYW5kIHB1Ymxpc2hlZCwgaW4gLy9Fc2NoZXIvTW9kL1ZpZXdGaWdzLm9kYy5ccGFy
DQpccGFyDQpHb29kIGx1Y2ssXHBhcg0KXHBhcg0KUm9iZXJ0XHBhcg0KXHBhcg0KXHBhcg0KUFMg
LSBJZiB5b3Ugd2FudCB5b3VyIGVtYmVkZGVkIFZpZXdzIHRvIHJlc3BvbmQgdG8gYWxsIGtpbmRz
IG9mIG1vdXNlXHBhcg0KY2xpY2tzIGFuZCBmb2N1cyBpc3N1ZXMsIHRoYXQgaXMgcmF0aGVyIG1v
cmUgd29yay5ccGFyDQpccGFyDQpccGFyDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X1xwYXINClxwYXINClx0YWIgRnJvbTogQmxhY2tCb3ggW21haWx0bzpCTEFDS0JPWEBMSVNUUy5P
QkVST04uQ0hdIE9uIEJlaGFsZiBPZlxwYXINCkpvc2VmIFRlbXBsXHBhcg0KXHRhYiBTZW50OiAw
NSBPY3RvYmVyIDIwMTEgMDg6MDdccGFyDQpcdGFiIFRvOiBCTEFDS0JPWEBMSVNUUy5PQkVST04u
Q0hccGFyDQpcdGFiIFN1YmplY3Q6IFJlOiBbQkxBQ0tCT1hdIEhvdyB0byAnZW1iZWQnXHBhcg0K
XHRhYiBccGFyDQpcdGFiIFxwYXINClx0YWIgICAgICAgICAgICAgICAgICAgICAqKiogV0FSTklO
RyAqKipccGFyDQpcdGFiIFxwYXINClx0YWIgVGhpcyBtZXNzYWdlIGhhcyBvcmlnaW5hdGVkIG91
dHNpZGUgeW91ciBvcmdhbmlzYXRpb24sIFxwYXINClx0YWIgICBlaXRoZXIgZnJvbSBhbiBleHRl
cm5hbCBwYXJ0bmVyIG9yIHRoZSBHbG9iYWwgSW50ZXJuZXQuIFxwYXINClx0YWIgICAgICAgS2Vl
cCB0aGlzIGluIG1pbmQgaWYgeW91IGFuc3dlciB0aGlzIG1lc3NhZ2UuXHBhcg0KXHRhYiBccGFy
DQpcdGFiIEkgaGF2ZSBub3QgZG9uZSB0aGlzIG15c2VsZiwgYnV0IGZyb20gdGhlIGRvY3UgYW5k
IGludGVyYWZjZXMgaXRccGFyDQpzZWVtcyB0aGF0XHBhcg0KXHRhYiB0aGUgZW1iZWRkaW5nIG1l
Y2hhbmlzbSBpcyBlbWJvZGllZCBpbiB0aGUgbW9kdWxlICdDb250YWluZXJzJy5ccGFyDQpcdGFi
IFRleHRNb2RlbHMuTW9kZWwgZXh0ZW5kcyBDb250YWluZXJzLk1vZGVsIGFuZCBUZXh0Vmlld3Mu
Vmlld1xwYXINCmV4dGVuZHMgQ29udGFpbmVycy5WaWV3LFxwYXINClx0YWIgZm9yIGV4YW1wbGUu
XHBhcg0KXHRhYiBTbyBJIGd1ZXNzIHlvdXIgb3duIG1vZGVsIGFuZCBjb3JyZXNwb25kaW5nIHZp
ZXcgd291bGQgbmVlZCB0b1xwYXINCmJlIHN1YmNsYXNzZWRccGFyDQpcdGFiIGluIHRoZSBzYW1l
IHdheSBpbiBvcmRlciB0byBzdXBwb3J0IGVtYmVkZGluZy5ccGFyDQpcdGFiIEdvb2QgbHVjay5c
cGFyDQpcdGFiICBccGFyDQpcdGFiIC0gSm9zZWZccGFyDQpcdGFiIFxwYXINClxwYXINClx0YWIg
XHRhYiAtLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tIFxwYXINClx0YWIgXHRhYiBGcm9tOiBE
b3VnbGFzIEcuIERhbmZvcnRoXHBhcg0KPG1haWx0bzpkYW5mb3J0aEBHUkVFTldPT0RGQVJNLkNP
TT4gIFxwYXINClx0YWIgXHRhYiBUbzogQkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIIFxwYXINClx0
YWIgXHRhYiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDA0LCAyMDExIDExOjQ3IFBNXHBhcg0KXHRh
YiBcdGFiIFN1YmplY3Q6IFJlOiBbQkxBQ0tCT1hdIEhvdyB0byAnZW1iZWQnXHBhcg0KXHBhcg0K
XHRhYiBcdGFiIFdvanRlayxccGFyDQpcdGFiIFx0YWIgSSB1c2VkIHRoYXQgbGFuZ3VhZ2UgYmVj
YXVzZSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBmb3JccGFyDQpNb2RlbHMgaXQgc2F5c1xwYXINClx0
YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgIkEgbW9kZWwgbWF5IGJlIGEgY29udGFpbmVyLCBpLmUu
LCBjb250YWluIGVtYmVkZGVkXHBhcg0Kdmlld3MuIEFuIGVtYmVkZGVkIHZpZXcgY2FuIGNvbW11
bmljYXRlIHdpdGggdGhlIG1vZGVsIGluIHdoaWNoIGl0IGlzXHBhcg0KZW1iZWRkZWQgdmlhIGEg
Q29udGV4dC4gXHBhcg0KXHRhYiBcdGFiIEEgY29udGFpbmVyIG1vZGVsIHByb3ZpZGVzIGEgY29u
dGV4dCBmb3IgZWFjaCBlbWJlZGRlZFxwYXINCnZpZXcuIFVzaW5nIGl0cyBjb250ZXh0LCBhIHZp
ZXcgY2FuIGlucXVpcmUgaXRzIGN1cnJlbnQgc2l6ZSwgb3IgaXQgY2FuXHBhcg0KdHJ5IHRvIGNo
YW5nZSBpdHMgc2l6ZS4iXHBhcg0KXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBKb3NlZixccGFy
DQpcdGFiIFx0YWIgWW91IHNhaWQgIllvdSBjYW4gZG8gdGhpcyBhbHNvIHdpdGggeW91ciBvd24g
bW9kZWwgYnV0XHBhcg0KdGhlIHZpZXcgdXNlZCBmb3IgZGlzcGxheWluZyB5b3VyIG1vZGVsIG11
c3QgYmUgYXdhcmUgb2YgXHBhcg0KXHRhYiBcdGFiIGVtYmVkZGVkIHZpZXdzIGFuZCByZW5kZXIg
ZXZlcnl0aGluZyBhY2NvcmRpbmdseS4iXHBhcg0KXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBG
cm9tIHRoYXQgSSBpbmZlciB0aGF0IHRoZXJlIGlzIG5vIGdlbmVyYWwgbWVjaGFuaXNtIGZvclxw
YXINCmViYmVkZGluZy4gIEVhY2ggbW9kZWwgbXVzdCBoYW5kbGUgaXQgc3BlY2lmaWNhbGx5Llxw
YXINClx0YWIgXHRhYiBOb3cgSSBhbSB1cCBhIGNyZWVrIHNpbmNlIEkgZG8gbm90IGtub3cgaG93
IHRvIHB1dCBhXHBhcg0KdmlldywgdihzbWFsbCB2KSBhdCBhIHNwZWNpZmljIHBsYWNlIHdpdGhp
biBpdHMgY29udGFpbmVyXHBhcg0KXHRhYiBcdGFiIHZpZXcsIFYoYmlnIHYpLiAgSSBrbm93IGhv
dyB0byBkbyB0aGlzIGZvciBGb3JtVmlld3NccGFyDQooYWdhaW4gYSBzcGVjaWZpYyBjYXNlKSBi
eSB1c2luZyBhIEZvcm1Db250cm9sbGVyc1xwYXINClx0YWIgXHRhYiBhbmQgdXNpbmcgaXRzIElu
c2VydCAgcHJvY2VkdXJlIHdoaWNoIHRha2VzIGwsIHQsIHIsIGJccGFyDQpjb29yZGluYXRlcy4g
IEkgdHJpZWQgdHJhY2tpbmcgdGhlIGxvZ2ljIG9mIHRoYXQgdGhyb3VnaCB0aGVccGFyDQpcdGFi
IFx0YWIgY29kZSBhbmQgZ290IGxvc3QgYWZ0ZXIgZGVzY2VuZGluZyBtYW55IG1vZHVsZXMuXHBh
cg0KXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBJJ2xsIHRha2UgYSBsb29rIGF0IFRleHRNb2Rl
bHMgYW5kIGhvcGVmdWxseSBmaW5kIGEgd2F5XHBhcg0KdG8gZ2VuZXJhbGl6ZSBlbWJlZGRpbmcg
aW4gYSBibGFuZCB2aWV3IHdoaWNoIGRvZXNccGFyDQpcdGFiIFx0YWIgbm90IGhhdmUgYSBtb2Rl
bCAob3IgYXQgbGlzdCBhIG1vZGVsIHRoYXQgaXMgZXh0cmVtZWx5XHBhcg0KcHJpbWl0aXZlKS5c
cGFyDQpcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFRoYW5rIHlvdS5ccGFyDQpcdGFiIFx0YWIg
XHBhcg0KXHRhYiBcdGFiIC1Eb3VnXHBhcg0KXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBPbiAx
MC80LzIwMTEgMToyMSBBTSwgSm9zZWYgVGVtcGwgd3JvdGU6IFxwYXINClxwYXINClx0YWIgXHRh
YiBcdGFiIEFjdHVhbGx5LCBpdCBkZXBlbmRzIG9uIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlXHBh
cg0KbW9kZWwuIFxwYXINClx0YWIgXHRhYiBcdGFiIEEgVGV4dE1vZGVscy5Nb2RlbCwgZm9yIGV4
YW1wbGUsIHByb3ZpZGVzIG1lYW5zXHBhcg0KZm9yIFxwYXINClx0YWIgXHRhYiBcdGFiIGVtYmVk
ZGluZyBhbiBhcmJpdHJheSBWaWV3cy5WaWV3IGludG8gdGhlXHBhcg0KY2hhcmFjdGVyIHN0cmVh
bSAoc2VlIFRleHRNb2RlbHMuV3JpdGVyLldyaXRlVmlldykuIFxwYXINClx0YWIgXHRhYiBcdGFi
IFlvdSBjYW4gZG8gdGhpcyBhbHNvIHdpdGggeW91ciBvd24gbW9kZWwgYnV0IHRoZVxwYXINCnZp
ZXcgdXNlZCBmb3IgZGlzcGxheWluZyB5b3VyIG1vZGVsIG11c3QgYmUgYXdhcmUgb2YgXHBhcg0K
XHRhYiBcdGFiIFx0YWIgZW1iZWRkZWQgdmlld3MgYW5kIHJlbmRlciBldmVyeXRoaW5nXHBhcg0K
YWNjb3JkaW5nbHkuIFxwYXINClx0YWIgXHRhYiBcdGFiIFJlbmRlcmluZyB0aGUgZW1iZWRkZWQg
dmlld3Mgd2lsbCB0eXBpY2FsbHkgYmVccGFyDQpkZWxlZ2F0ZWQgdG8gdGhlIGVtYmVkZGVkIHZp
ZXdzLCB0aG91Z2guIFxwYXINClx0YWIgXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBcdGFiIC0g
SlQgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBc
dGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgLS0tLS0g
T3JpZ2luYWwgTWVzc2FnZSAtLS0tLSBGcm9tOiAiV29qdGVrXHBhcg0KU2t1bHNraSIgPHNrdWxz
a2lAUEFTLlJPQ0hFU1RFUi5FRFU+IDxtYWlsdG86c2t1bHNraUBQQVMuUk9DSEVTVEVSLkVEVT5c
cGFyDQpccGFyDQpcdGFiIFx0YWIgXHRhYiBUbzogPEJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSD5c
cGFyDQo8bWFpbHRvOkJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSD4gIFxwYXINClx0YWIgXHRhYiBc
dGFiIFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMDQsIDIwMTEgNjo0MiBBTSBccGFyDQpcdGFiIFx0
YWIgXHRhYiBTdWJqZWN0OiBSZTogW0JMQUNLQk9YXSBIb3cgdG8gJ2VtYmVkJyBccGFyDQpcdGFi
IFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiAiZW1i
ZWRkaW5nIG9mIG9uZSB2aWV3IGludG8gYSBtb2RlbCIgaXMgYSBzZWxmXHBhcg0KY29udHJhZGlj
dGlvbi4gXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgVGhlIG1vZGVs
IHByb3ZpZGVzIGRhdGEgIjEsIDIsIDMsIDQuLi4iLiBUaGVccGFyDQpkYXRhIG1ha2VzIG5vIGFz
c3VtcHRpb25zIGhvdyBccGFyDQpcdGFiIFx0YWIgXHRhYiBpdCB3aWxsIGJlIGRpc3BsYXllZCwg
b3Igd2hldGhlciBpdCB3aWxsIGJlXHBhcg0KZGlzcGxheWVkIGF0IGFsbC4gXHBhcg0KXHRhYiBc
dGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgVGhlIHZpZXcgaW1wb3J0cyB0aGUgbW9kZWwu
IFNvIGl0IGtub3dzIHRoZVxwYXINCmRldGFpbHMgb2YgdGhlIG1vZGVsIChhcnJheSwgXHBhcg0K
XHRhYiBcdGFiIFx0YWIgcmVjb3JkLCBsaXN0LCBkb3VibGUtbGlua2VkLWxpc3QsIERBRywgb3Ig
YW55XHBhcg0Kb3RoZXIgZmFuY3kgc3RydWN0dXJlKS4gXHBhcg0KXHRhYiBcdGFiIFx0YWIgSG93
ZXZlciwgdGhlcmUgaXMgYSBmaXJtIGFzc3VtcHRpb24gdGhhdCBub1xwYXINCmRldGFpbHMgYWJv
dXQgdGhlIGRpc3BsYXkgZ28gXHBhcg0KXHRhYiBcdGFiIFx0YWIgaW50byB0aGUgbW9kZWwuIFRo
ZSBtb2RlbCBjYW4gb25seSBwcm92aWRlIHRoZVxwYXINCm51bWJlcnMsIGJ1dCBubyBkZXRhaWxz
IFxwYXINClx0YWIgXHRhYiBcdGFiIGFib3V0IHRoZSBkaXNwbGF5LiBccGFyDQpcdGFiIFx0YWIg
XHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBUaGUgTW9kZWwtVmlldyBzZXBhcmF5aW9uIG1lYW5z
IHRoZSBzZXBhcmF0aW9uXHBhcg0Kb2YgY29uY2VybnMuIFRoZSBtb2RlbCBjYW4gXHBhcg0KXHRh
YiBcdGFiIFx0YWIgY2FsY3VsYXRlLiBUaGUgdmlldyBjYW4gZGlzcGxheSB0aGUgcmVzdWx0cyBv
ZlxwYXINCmNhbGN1bGF0aW9ucy4gXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFi
IFx0YWIgWW91ciBxdWVzdGlvbiBpcyBicmVha2luZyB0aGUgc2VwYXJhdGlvbi4gWW91XHBhcg0K
YXJlIHRyeWluZyB0byBwdXQgdGhlIFxwYXINClx0YWIgXHRhYiBcdGFiIGltcG9ydGVkIGNvbmNl
cm5zIGJhY2sgaW50byB0aGUgaW1wb3J0ZWUuIFRoaXNccGFyDQpoYXMgdG8gbGVhZCB0byBjaXJj
dWxhciBccGFyDQpcdGFiIFx0YWIgXHRhYiBkYXRhIHN0cnVjdHVyZXMuIEhlbmNlLCBpdCBpcyBu
b3QgaW1wbGVtZW50YWJsZS5ccGFyDQpccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0
YWIgXHRhYiBXLiBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFy
DQpcdGFiIFx0YWIgXHRhYiBccGFyDQpccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICAgICAgICAg
ICAgICAgICAgICAgRm9sa3MsIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBc
dGFiIFx0YWIgXHRhYiAgICAgIEkgYW0gb2xkIGFuZCB0aXJlZCBvZiBwb2tpbmdccGFyDQp0aHJv
dWdoIGRvY3VtZW50YXRpb24gYW5kIGNvZGUuIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgICAg
ICBTbyBpZiB5b3UgY2FuIHBsZWFzZSBoZWxwIG1lIG91dCBpdFxwYXINCndvdWxkIGJlIGdyZWF0
bHkgYXBwcmVjaWF0ZWQuIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFi
IFx0YWIgXHRhYiAgICAgIElmIHlvdSBzZWFyY2ggdGhlIEJCIGRvY3VtZW50YXRpb25ccGFyDQpm
b3IgdGhlIHdvcmQgJ2VtYmVkJyB5b3UgZmluZCBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICAg
ICAgbWFueSBoaXRzLiAgQnV0IG5vIHdoZXJlIGRvZXMgaXRccGFyDQpleHBsaWNpdGx5IHN0YXRl
IHRoZSBzdGVwcyBuZWVkZWQgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgICAgIHRvIGRvIGFu
IGVtYmVkZGluZyBvZiBvbmUgdmlldyBpbnRvXHBhcg0KYSBtb2RlbC4gXHBhcg0KXHRhYiBcdGFi
IFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICAgICAgV2hhdCBhcmUgdGhlIGxl
YXN0IG51bWJlciBvZiBzdGVwc1xwYXINCnRvIGVtYmVkIGEgdmlldyBpbnRvIGEgbW9kZWw/IFxw
YXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgICAgID09
IFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgICAgICBNeSBwYWx0cnkgZWZmb3J0cyBjZW50ZXIg
YXJvdW5kIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRh
YiAgICAgIFZpZXdzLkluc3RhbGxGcmFtZShmLCB2aWV3LCBsLCB0LFxwYXINCmxldmVsLCBmb2N1
cyk7IFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAg
ICAgIFRoYXQgaXMsIGdpdmVuIHRoZSBmcmFtZSAoZikgb2YgdGhlXHBhcg0KdmlldyBpbiB3aGlj
aCBvbmUgd2FudHMgdG8gZW1iZWQgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgICAgIHRoZSB2
aWV3ICd2aWV3JyBvbmUgZG9lcyB0aGUgYWJvdmUuXHBhcg0KQlVUIEJCIGNvbXBsYWlucyB0aGF0
IHZpZXcgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgICAgIGRvZXMgbm90IGhhdmUgYSBjb250
ZXh0IG5vciBhXHBhcg0KZG9tYWluLiAgV2VsbCB0aGF0IGlzIHdoYXQgSSB3YXMgXHBhcg0KXHRh
YiBcdGFiIFx0YWIgXHRhYiBob3BpbmcgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgICAgIHRo
ZSBJbnN0YWxsRnJhbWUgcHJvY2VkdXJlIHdvdWxkXHBhcg0KcHJvdmlkZSB0byB2aWV3LiBccGFy
DQpcdGFiIFx0YWIgXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgICAgICBTbyBJ
IGNhbiBzdGFydCBhbmQgYXNzaWduIGEgY29udGV4dFxwYXINCnRvIHZpZXcgdGFrZW4gZnJvbSB0
aGUgY29udGV4dCBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICBvZiBccGFyDQpcdGFiIFx0YWIg
XHRhYiBcdGFiICAgICAgZi52aWV3LmNvbnRleHQgQlVUIEkgYmVsaWV2ZSB0aGF0XHBhcg0KaXMg
d3JvbmcuIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRh
YiAgICAgIEdpdmVuIGEgYmFyZSBleHRlbnNpb24gb2ZccGFyDQpWaWV3cy5WaWV3IHdpdGggbm8g
YWRkaXRpb25hbCBzdHJ1Y3R1cmUgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgICAgIFRZUEUg
VmlldyA9IFBPSU5URVIgVE9ccGFyDQpSRUNPUkQoVmlld3MuVmlldykgRU5EOyBccGFyDQpcdGFi
IFx0YWIgXHRhYiBcdGFiICAgICAgYXMgdGhlIGNvbnRhaW5lciB2aWV3IEkgd2lzaCB0b1xwYXIN
CmVtYmVkIGFyYml0cmFyeSBvdGhlciAgICAgVmlld3MuVmlldyBccGFyDQpcdGFiIFx0YWIgXHRh
YiBcdGFiICAgICAgYXMgdGhlIGNvbnRhaW5lZCB2aWV3IEFORCB3aGVuIHRoZVxwYXINCmNvbnRh
aW5lciB2aWV3IGlzICAgICByZXN0b3JlZCBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICAgICAg
KHdoaWNoIHVudG8gaXRzZWxmIGRvZXMgbm90aGluZylccGFyDQpob3cgZG8gSSBnZXQgYWxsIG9m
IHRoZSBjb250YWluZWQgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgdmlld3MgXHBhcg0KXHRh
YiBcdGFiIFx0YWIgXHRhYiAgICAgIHRvIHJlc3RvcmUgdGhlbXNlbHZlcyAob3IgZG9lcyB0aGF0
XHBhcg0KaGFwcGVuIGF1dG9tYXRpY2FsbHkgT1IgZG8gSSBccGFyDQpcdGFiIFx0YWIgXHRhYiBc
dGFiICAgICAgbmVlZCB0byBmb3J3YXJkIGEgbWVzc2FnZSk/IFxwYXINClx0YWIgXHRhYiBcdGFi
IFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgICAgIERvdWcgXHBhcg0KXHRhYiBcdGFi
IFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBcdGFi
IFx0YWIgIC0tLS0gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlXHBhcg0Kd2l0aCBib2R5
ICJTSUdOT0ZGIEJMQUNLQk9YIiB0byBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIExJU1RTRVJW
QExJU1RTLk9CRVJPTi5DSCBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIFxwYXINClxwYXINClxw
YXINClxwYXINClx0YWIgXHRhYiBcdGFiIC0tLS0gXHBhcg0KXHRhYiBcdGFiIFx0YWIgVG8gdW5z
dWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keVxwYXINCiJTSUdOT0ZGIEJMQUNLQk9Y
IiB0byBMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0ggXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHBhcg0K
XHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0YWIgLS0tLSBccGFyDQpcdGFiIFx0YWIg
XHRhYiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5XHBhcg0KIlNJR05P
RkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSCBccGFyDQpcdGFiIFx0YWIg
XHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpccGFyDQpcdGFiIFx0YWIgLS0tLSBUbyB1
bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZGXHBhcg0KQkxBQ0tC
T1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSFxwYXINClxwYXINClx0YWIgLS0tLSBUbyB1
bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9YIlxw
YXINCnRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSCBccGFyDQpccGFyDQpTRUxFWCBHYWxpbGVv
IEx0ZFxwYXINClJlZ2lzdGVyZWQgT2ZmaWNlOiBTaWdtYSBIb3VzZSwgQ2hyaXN0b3BoZXIgTWFy
dGluIFJvYWQsIEJhc2lsZG9uLCBFc3NleCBTUzE0IDNFTFxwYXINCkEgY29tcGFueSByZWdpc3Rl
cmVkIGluIEVuZ2xhbmQgJiBXYWxlcy4gIENvbXBhbnkgbm8uIDAyNDI2MTMyXHBhcg0KKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKipccGFyDQpUaGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgYXJlIGNvbmZpZGVudGlh
bCB0byB0aGUgaW50ZW5kZWRccGFyDQpyZWNpcGllbnQgYW5kIG1heSBhbHNvIGJlIHByaXZpbGVn
ZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZFxwYXINCnJlY2lwaWVudCBwbGVhc2UgZGVs
ZXRlIGl0IGZyb20geW91ciBzeXN0ZW0gYW5kIG5vdGlmeSB0aGUgc2VuZGVyLlxwYXINCllvdSBz
aG91bGQgbm90IGNvcHkgaXQgb3IgdXNlIGl0IGZvciBhbnkgcHVycG9zZSBub3IgZGlzY2xvc2Ug
b3JccGFyDQpkaXN0cmlidXRlIGl0cyBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLlxwYXIN
CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqXHBhcg0KXHBhcg0KXHBhcg0KLS0tLVxwYXINClRvIHVuc3Vic2NyaWJlLCBz
ZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJ
U1RTLk9CRVJPTi5DSFxwYXINCn0
----boundary-LibPST-iamunique-128623131_-_---
Received on Wed Oct 05 2011 - 10:02:44 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:11 UTC