Sorry, I wasn't clear.  The function itself can go in Basic or better yet,
Core, since I don't think it has any dependencies and can be use anywhere.
 I was just saying that I would prefer if none of the Basic components or
UIBase used your new function.  You should be able to write a Royale app
with Basic and not bring in that function. Not that it isn't useful, but
it isn't truly "basic" given that Basic components are supposed to have
typeNames.

My 2 cents,
-Alex

On 2/24/18, 8:17 AM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com> wrote:

>I was going to put it somewhere in the Basic, but I can leave it in the
>MDL. The className can be undefined in the case where you wanted to add
>something to such "undefinded" string you will got:
>
>"undefined myClass". - I probably cannot escape from that...
>
>Maybe I'm missing some way.
>
>2018-02-24 17:00 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:
>
>> Looks ok to me.  Seems like you don't need COMPILE::JS.  It should work
>>on
>> all platforms.  We can have lots of utility functions in
>> org.apache.royale.utils.
>>
>> In terms of optimization (size/performance) a function like this is
>> potentially overkill for the Basic set.  It is fine for MDL since MDL
>>has
>> already picked up additional overhead in order to style "everything".
>>But
>> I subscribe to what I learned from a wise programmer many years ago:  If
>> you truly understand the problem space, you can often find a smaller,
>> faster solution.  Like I said, if you know that there "must" be at least
>> one string from typenames as the last string, the replacement is much
>> easier.  All of the extra null checking and trimming in your version is
>> not really needed for the specific problem of replacing from a set of
>> string you know about that don't need trimming.
>>
>> My 2 cents,
>> -Alex
>>
>> On 2/24/18, 4:50 AM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com> wrote:
>>
>> >Alex,
>> >
>> >I used your suggestion, added some additional things and I end up with
>> >following utility [1]. Usage will looks like that: [2]. Do you think it
>> >could be part of the framework ? It's working nicely with MDL.
>> >
>> >[1]
>> >https://na01.safelinks.protection.outlook.com/?url=
>> https%3A%2F%2Fpaste.apa
>> >che.org%2FtsaF&data=02%7C01%7Caharui%40adobe.com%
>> 7C91e633a78bea4fc4c89908d
>> >57b853bdf%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>> 7C636550734524475642&
>> >sdata=O%2BZn0ajlM6A2Q0tBEBvDDtZZcNQYNOBsCn1kO0fgdPo%3D&reserved=0
>> >[2]
>> >https://na01.safelinks.protection.outlook.com/?url=
>> https%3A%2F%2Fpaste.apa
>> >che.org%2Fxbfb&data=02%7C01%7Caharui%40adobe.com%
>> 7C91e633a78bea4fc4c89908d
>> >57b853bdf%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>> 7C636550734524475642&
>> >sdata=j0n83ksobPZfR0YY7oMBJMU1dzx7fcW%2FNOmLd1S%2BL0o%3D&reserved=0
>> >
>> >Thanks, Piotr
>> >
>> >
>> >
>> >2018-02-23 21:31 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:
>> >
>> >> Well, whether you like it or not, the wrapper is mapping a
>> >>space-delimited
>> >> list to the array so if you manipulate the array you have to
>> >> back-calculate the string.  IMO, in HTML, the "class" property is a
>> >>string
>> >> and people are used to entering a space-delimited list.  That's why
>>we
>> >> have a className property on UIBase.  So that folks have something
>> >>similar
>> >> in MXML.
>> >>
>> >> So, unfortunately, your problem can't be as simple as manipulating
>> >> classList via its APIs.  Also consider that the classList API might
>> >>itself
>> >> be doing a string search in the array.
>> >>
>> >> If you have the string "Piotr Alex Harbs" and want to replace Alex
>>with
>> >> Peter and you know that Alex can't be the last item because the last
>> >>item
>> >> is the typeName which is never null or "", then a simple
>>String.replace
>> >> call should work.
>> >>
>> >>   className = className.replace(oldName + " ", newName + " ");
>> >>
>> >> HTH,
>> >> -Alex
>> >>
>> >> On 2/23/18, 12:21 PM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com>
>> >>wrote:
>> >>
>> >> >It's just swapping. If I have following code [1] - it is easier to
>> >> >manipulate classList than className which is simple string. What
>> >>utility
>> >> >could look like ? It would be manipulating strings, which is less
>> >> >convenient.
>> >> >
>> >> >[1]
>> >> >https://na01.safelinks.protection.outlook.com/?url=
>> >> https%3A%2F%2Fpaste.apa
>> >> >che.org%2Fat0H&data=02%7C01%7Caharui%40adobe.com%
>> >> 7C061f7278ca3748bfaee408d
>> >> >57afb14a9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>> >> 7C636550141162759398&
>> >> >sdata=76W6lkZuIxUbO5mDtenl4g88zmRPsHaA1evyvvk7O08%3D&reserved=0
>> >> >
>> >> >2018-02-23 21:11 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:
>> >> >
>> >> >> Just compiler.  No need for asjs changes at this time I think.
>> >> >>
>> >> >> I'm still unclear on why you need to manipulate classList
>>directly.
>> >>Is
>> >> >> there some code that is in the JS from Material that manipulates
>> >> >> classList?  Or are you just trying to swap out a name on the
>> >>classList?
>> >> >> If the latter, why not just create some utility function that
>> >>operates
>> >> >>on
>> >> >> className and not the underlying element?
>> >> >>
>> >> >> -Aleex
>> >> >>
>> >> >> On 2/23/18, 11:58 AM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com>
>> >> >>wrote:
>> >> >>
>> >> >> >You did merge vivid compiler changes or also changes from asjs
>> >> >>repository.
>> >> >> >
>> >> >> >As for my work on MDL. I ended up with something like that [1].
>>The
>> >> >> >question now how to propagate that code ? This is code for the
>> >> >>component
>> >> >> >which manipulates classList. Should I create some parent class ?
>> >> >>General/
>> >> >> >for MDL only, or Bead which will be included into such classes ?
>> >> >> >Theoretically bead could listen for initComplete.
>> >> >> >
>> >> >> >[1]
>> >> >> >https://na01.safelinks.protection.outlook.com/?url=
>> >> >> https%3A%2F%2Fpaste.apa
>> >> >> >che.org%2F1dy2&data=02%7C01%7Caharui%40adobe.com%
>> >> >> 7C8e313e7d7f9d4608759f08d
>> >> >> >57af7d477%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>> >> >> 7C636550127203173382&
>> >> >> >sdata=NkxHZQlHtOeJzWC%2BIyxxst89DlX0CCUa9VeGpztTL2s%3D&reserved=0
>> >> >> >
>> >> >> >Thanks,
>> >> >> >Piotr
>> >> >> >
>> >> >> >2018-02-23 20:53 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:
>> >> >> >
>> >> >> >> I think I have Maven using the basic.css appropriately.  There
>>is
>> >>no
>> >> >>way
>> >> >> >> to default to including a SWC in Maven and then not use it in a
>> >>child
>> >> >> >> project, so all example poms that aren't MDL need to bring in
>>the
>> >> >> >> BasicTheme.
>> >> >> >>
>> >> >> >> Also, I had to merge the compiler change from vivid-ui-set
>>branch
>> >>to
>> >> >>get
>> >> >> >> the theme SWC to work in Maven.
>> >> >> >>
>> >> >> >> -Alex
>> >> >> >>
>> >> >> >> On 2/23/18, 8:04 AM, "Alex Harui" <aha...@adobe.com.INVALID>
>> >>wrote:
>> >> >> >>
>> >> >> >> >MDL does not want the basic.css theme.  That is why we are
>>moving
>> >> >> >>styles
>> >> >> >> >from Basic:swc's defaults.css to themes/basic.css.  I see that
>> >>the
>> >> >> >>Maven
>> >> >> >> >plugin doesn't allow specification of a theme, so that's
>>another
>> >> >>task.
>> >> >> >> I
>> >> >> >> >can do it if nobody wants to take that on.  So, yes, move the
>> >>Button
>> >> >> >> >selectors from defaults.css to basic.css if that helps, but I
>> >>will
>> >> >>say
>> >> >> >> >that I didn't notice those styles taking effect in my local
>> >>version
>> >> >>of
>> >> >> >> >MDLTabsExample and assumed that mdl had overridden those
>>styles.
>> >> As
>> >> >> >> >Carlos said, in the end we want basic.css to be compliant CSS
>>so
>> >> >>don't
>> >> >> >> >move anything with ClassReference as the value without
>>discussing
>> >> >> >>first.
>> >> >> >> >
>> >> >> >> >TypeNames should be set after the call to super().  Look at
>>Label
>> >> >>and
>> >> >> >> >MultilineLabel.  They are working fine for me.  They are being
>> >>used
>> >> >>in
>> >> >> >> >RoyaleStore.  There might have been issues before yesterday
>> >>because
>> >> >> >>lots
>> >> >> >> >of Basic components were setting ClassName, but I went and
>> >>cleaned
>> >> >> >>that up
>> >> >> >> >although I could have missed a few.
>> >> >> >> >
>> >> >> >> >In complex Views, you have two choices:  Make a subclass or
>> >>assign
>> >> >>the
>> >> >> >> >className.  We should try to set set typeNames.  In fact,
>>maybe
>> >>we
>> >> >> >>should
>> >> >> >> >make typeNames protected.
>> >> >> >> >
>> >> >> >> >So, for ComboBoxView, the current code is setting a custom
>> >>className
>> >> >> >>which
>> >> >> >> >is valid.  Users can then style it further by adding a
>> >> >> >>.ComboBoxTextInput
>> >> >> >> >selector to their CSS. However, class selectors are not
>>pruned by
>> >> >>the
>> >> >> >> >compiler.  So in other cases, we have created a real subclass
>>(in
>> >> >>this
>> >> >> >> >case "ComboBoxTextInput extends TextInput) and then the CSS
>>would
>> >> >>not
>> >> >> >>have
>> >> >> >> >the "." in front so it would look like a type selector and the
>> >> >>compiler
>> >> >> >> >would prune it from apps that don't use a ComboBox.  Not sure
>> >>which
>> >> >>is
>> >> >> >> >better/faster,
>> >> >> >> >
>> >> >> >> >Regarding Peter's point about Labels in Menus.  The issue
>>isn't
>> >>that
>> >> >> >>Flash
>> >> >> >> >can't handle it.  It is that our SimpleCSSValuesImpl lookup
>> >>doesn't
>> >> >> >>handle
>> >> >> >> >descendant and other advanced selectors.  The techniques for
>> >> >> >>ComboBoxView
>> >> >> >> >is how we avoid requiring a more complex lookup on the SWF
>>side.
>> >> >>The
>> >> >> >>menu
>> >> >> >> >code should not be setting typeNames on other things, only
>> >>itself.
>> >> >>I'm
>> >> >> >> >not sure if on the JS side, avoiding descendant selectors
>>speeds
>> >> >> >>things up
>> >> >> >> >in the browser or not.  We could create an IValuesImpl with
>> >> >>descendant
>> >> >> >> >selector support on the SWF side and probably will someday.
>> >> >>Volunteers
>> >> >> >> >are welcome to take that on.
>> >> >> >> >
>> >> >> >> >Of course, I could be wrong...
>> >> >> >> >-Alex
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >On 2/23/18, 7:37 AM, "Piotr Zarzycki"
>><piotrzarzyck...@gmail.com
>> >
>> >> >> >>wrote:
>> >> >> >> >
>> >> >> >> >>A bit more on point 1. and let's take for the example simple
>> >> >>Button.
>> >> >> >>We
>> >> >> >> >>have some styles for Button in Basic.css. MDL Button extends
>> >> >> >>TextButton -
>> >> >> >> >>some styles naturally has been added from default.css.
>> >> >> >> >>
>> >> >> >> >>If I create theme I should achieve that my theme classes will
>> >> >>override
>> >> >> >> >>default.css Button styles and I should be good yes ?
>> >> >> >> >>
>> >> >> >> >>Am I understand it correctly ?
>> >> >> >> >>Thanks, Piotr
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>2018-02-23 16:32 GMT+01:00 Piotr Zarzycki
>> >> >><piotrzarzyck...@gmail.com
>> >> >> >:
>> >> >> >> >>
>> >> >> >> >>> Alex,
>> >> >> >> >>>
>> >> >> >> >>> I have started to work on MDL and move all typeNames from
>> >> >> >>createElement
>> >> >> >> >>>to
>> >> >> >> >>> constructor. Unfortunately something is not right here.
>> >> >> >> >>>
>> >> >> >> >>> 1) I still need to exclude BasicJS.swc:default.css - I did
>>add
>> >> >> >>theme to
>> >> >> >> >>> MaterialDesignLite module maven build - it didn't help.
>> >> >> >> >>> 2) If I cannot setup typeNames and classNames inside my
>> >> >>component,
>> >> >> >>how
>> >> >> >> >>>can
>> >> >> >> >>> I achieve switching some UI parts of the component ? In MDL
>> >>it is
>> >> >> >>quite
>> >> >> >> >>> common that if I would like to change component I'm adding
>>to
>> >>it
>> >> >>css
>> >> >> >> >>>class.
>> >> >> >> >>> [1] - This is the example. If I remove line it doesn't
>>work.
>> >> >>There
>> >> >> >>are
>> >> >> >> >>> several places in MDL where we are doing such things. It is
>> >> >>common
>> >> >> >>in
>> >> >> >> >>>JS
>> >> >> >> >>> world doing such things.
>> >> >> >> >>>
>> >> >> >> >>> typeNames = element.className;
>> >> >> >> >>>
>> >> >> >> >>> Thoughts ?
>> >> >> >> >>>
>> >> >> >> >>> [1]
>> >> >> >> >>>https://na01.safelinks.protection.outlook.com/?url=
>> >> >> >> https%3A%2F%2Fpaste.a
>> >> >> >> >>>p
>> >> >> >> >>>ache.org%2Fat0H&data=02%7C01%7Caharui%40adobe.com%
>> >> >> >> 7Ca44c142f0ddc455c70bf
>> >> >> >> >>>0
>> >> >> >> >>>8d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
>> >> >> >> cee1%7C0%7C0%7C636549970664822
>> >> >> >> >>>4
>> >> >> >> >>>53&sdata=1sSgdfBy%2BAv%2FsFIYwVFFHvVlhtJ3w3TW%
>> >> >> >> 2FiDEyPVYGmo%3D&reserved=0
>> >> >> >> >>>
>> >> >> >> >>> Thanks,
>> >> >> >> >>> Piotr
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>> 2018-02-23 15:55 GMT+01:00 Piotr Zarzycki
>> >> >> >><piotrzarzyck...@gmail.com>:
>> >> >> >> >>>
>> >> >> >> >>>> Peter,
>> >> >> >> >>>>
>> >> >> >> >>>> That is interesting what you are saying. What will happen
>> >>then
>> >> >>if
>> >> >> >>you
>> >> >> >> >>>> have class which extends other one. The parent class is
>> >>setting
>> >> >> >> >>>>typeNames
>> >> >> >> >>>> and derived one also before super? The parent one will
>> >>override
>> >> >>it?
>> >> >> >> >>>>
>> >> >> >> >>>> I cannot check now how typeNames is implemented.
>> >> >> >> >>>>
>> >> >> >> >>>> Piotr
>> >> >> >> >>>>
>> >> >> >> >>>>
>> >> >> >> >>>> On Fri, Feb 23, 2018, 15:13 Peter Ent
>> >><p...@adobe.com.invalid>
>> >> >> >>wrote:
>> >> >> >> >>>>
>> >> >> >> >>>>> I have been guilty of this and have been using typeNames
>> >>now.
>> >> >>I've
>> >> >> >> >>>>>found
>> >> >> >> >>>>> that I need to set typeNames before calling super() in
>>the
>> >> >> >> >>>>>constructor. I
>> >> >> >> >>>>> thought it was done afterwards, but if I set typeNames
>>after
>> >> >> >>calling
>> >> >> >> >>>>> super(), the typeName I set does not show up in the HTML
>> >> >>produced.
>> >> >> >> >>>>>
>> >> >> >> >>>>> Also, suppose I have this: A Menu with a label inside of
>>it.
>> >> >> >>People
>> >> >> >> >>>>>will
>> >> >> >> >>>>> want to change the background color of the menu and the
>> >>color
>> >> >>of
>> >> >> >>the
>> >> >> >> >>>>> label's text. If I were doing this in plain HTML/JS/CSS,
>>I
>> >> >>would
>> >> >> >>set
>> >> >> >> >>>>>a
>> >> >> >> >>>>> selector:  .Menu .Label { color: blue; } but that's not
>> >> >>supported
>> >> >> >>in
>> >> >> >> >>>>>the
>> >> >> >> >>>>> Flash Player. So when I set up the typeName for the label
>> >> >>inside
>> >> >> >>of
>> >> >> >> >>>>>the
>> >> >> >> >>>>> Menu should I set it to: Menu_Label or MenuLabel or
>> >>Menu-Label?
>> >> >> >>And
>> >> >> >> >>>>>is
>> >> >> >> >>>>> using "." in a selector name a good idea? I would think
>>the
>> >>CSS
>> >> >> >> >>>>>processor
>> >> >> >> >>>>> in the browser would be confused between ".x.y" and ".x
>>.y"
>> >> >>which
>> >> >> >>can
>> >> >> >> >>>>> also
>> >> >> >> >>>>> be written as ".x.y". Basically, we should have a consist
>> >> >>naming
>> >> >> >> >>>>>pattern
>> >> >> >> >>>>> here.
>> >> >> >> >>>>>
>> >> >> >> >>>>> ‹peter
>> >> >> >> >>>>>
>> >> >> >> >>>>> On 2/23/18, 4:09 AM, "Gabe Harbs" <harbs.li...@gmail.com>
>> >> >>wrote:
>> >> >> >> >>>>>
>> >> >> >> >>>>> >There¹s some edge cases which seem problematic. One
>> >>example:
>> >> >> >> >>>>> >ComboBoxBiew has the following:
>> >> >> >> >>>>> >            input = new TextInput();
>> >> >> >> >>>>> >            input.className = "ComboBoxTextInput";
>> >> >> >> >>>>> >
>> >> >> >> >>>>> >            button = new TextButton();
>> >> >> >> >>>>> >            button.className =
>> >> >> >> >>>>> >"opt_org-apache.royale-html-ComboBox_Button";
>> >> >> >> >>>>> >
>> >> >> >> >>>>> >Input and button are both external to the view class,
>>but
>> >>are
>> >> >> >> >>>>>managed by
>> >> >> >> >>>>> >the view class. On the other hand, there is a chance
>>that
>> >>the
>> >> >> >>user
>> >> >> >> >>>>>might
>> >> >> >> >>>>> >wan to style them. I¹m not sure whether className or
>> >> >>typeNames is
>> >> >> >> >>>>>more
>> >> >> >> >>>>> >appropriate hereŠ
>> >> >> >> >>>>> >
>> >> >> >> >>>>> >Harbs
>> >> >> >> >>>>> >
>> >> >> >> >>>>> >> On Feb 23, 2018, at 11:03 AM, Gabe Harbs
>> >> >> >><harbs.li...@gmail.com>
>> >> >> >> >>>>> wrote:
>> >> >> >> >>>>> >>
>> >> >> >> >>>>> >> I¹ll help.
>> >> >> >> >>>>> >>
>> >> >> >> >>>>> >>> On Feb 23, 2018, at 10:50 AM, Alex Harui
>> >> >> >> >>>>><aha...@adobe.com.INVALID>
>> >> >> >> >>>>> >>>wrote:
>> >> >> >> >>>>> >>>
>> >> >> >> >>>>> >>> Quick note before I shut down for the night.
>> >> >> >> >>>>> >>>
>> >> >> >> >>>>> >>> UIBase has both a typeNames and className property.
>> >> >> >>TypeNames is
>> >> >> >> >>>>> used
>> >> >> >> >>>>> >>>to
>> >> >> >> >>>>> >>> emulate Flex-like type selectors in the CSS lookup.
>>It
>> >> >> >>should be
>> >> >> >> >>>>>set
>> >> >> >> >>>>> >>>in
>> >> >> >> >>>>> >>> the constructor and never set from outside the class.
>> >> >>There
>> >> >> >>are
>> >> >> >> >>>>>a
>> >> >> >> >>>>> few
>> >> >> >> >>>>> >>> classes in Basic and lots of classes in MDL that
>>should
>> >>be
>> >> >> >> >>>>>upgraded
>> >> >> >> >>>>> to
>> >> >> >> >>>>> >>>set
>> >> >> >> >>>>> >>> typeNames in the constructor.  Subclasses can append
>>to
>> >>the
>> >> >> >>base
>> >> >> >> >>>>> >>>class's
>> >> >> >> >>>>> >>> typeNames
>> >> >> >> >>>>> >>>
>> >> >> >> >>>>> >>> className is the opposite.  It should never be set
>> >>inside
>> >> >>the
>> >> >> >> >>>>> >>>component's
>> >> >> >> >>>>> >>> class.  It is for users of that component to set
>>styles
>> >>on
>> >> >>the
>> >> >> >> >>>>> >>>component.
>> >> >> >> >>>>> >>>
>> >> >> >> >>>>> >>> Can we get a volunteer to clean this up?
>> >> >> >> >>>>> >>>
>> >> >> >> >>>>> >>> Thanks,
>> >> >> >> >>>>> >>> -Alex
>> >> >> >> >>>>> >>>
>> >> >> >> >>>>> >>
>> >> >> >> >>>>> >
>> >> >> >> >>>>>
>> >> >> >> >>>>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>> --
>> >> >> >> >>>
>> >> >> >> >>> Piotr Zarzycki
>> >> >> >> >>>
>> >> >> >> >>> Patreon:
>> >> >> >> >>>*https://na01.safelinks.protection.outlook.com/?url=
>> >> >> >> https%3A%2F%2Fwww.pa
>> >> >> >> >>>t
>> >> >> >> >>>reon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com
>> >> >> >> %7Ca44c142f0dd
>> >> >> >> >>>c
>> >> >> >> >>>455c70bf08d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
>> >> >> >> cee1%7C0%7C0%7C636549
>> >> >> >> >>>9
>> >> >> >> >>>70664822453&sdata=RxqP6b0L0BmWiiX3t6QdtbiA3YwoJR
>> >> >> >> FFjSWC8LaxmWI%3D&reserve
>> >> >> >> >>>d
>> >> >> >> >>>=0
>> >> >> >> >>>
>> >> >> >> >>><https://na01.safelinks.protection.outlook.com/?url=
>> >> >> >> https%3A%2F%2Fwww.pa
>> >> >> >> >>>t
>> >> >> >> >>>reon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com
>> >> >> >> %7Ca44c142f0dd
>> >> >> >> >>>c
>> >> >> >> >>>455c70bf08d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
>> >> >> >> cee1%7C0%7C0%7C636549
>> >> >> >> >>>9
>> >> >> >> >>>70664822453&sdata=RxqP6b0L0BmWiiX3t6QdtbiA3YwoJR
>> >> >> >> FFjSWC8LaxmWI%3D&reserve
>> >> >> >> >>>d
>> >> >> >> >>>=0>*
>> >> >> >> >>>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>--
>> >> >> >> >>
>> >> >> >> >>Piotr Zarzycki
>> >> >> >> >>
>> >> >> >> >>Patreon:
>> >> >> >> >>*https://na01.safelinks.protection.outlook.com/?url=
>> >> >> >> https%3A%2F%2Fwww.pat
>> >> >> >> >>r
>> >> >> >> >>eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com
>> >> >> >> %7Ca44c142f0ddc4
>> >> >> >> >>5
>> >> >> >> >>5c70bf08d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
>> >> >> >> cee1%7C0%7C0%7C636549970
>> >> >> >> >>6
>> >> >> >>
>> >> >> >>>>64822453&sdata=RxqP6b0L0BmWiiX3t6QdtbiA3YwoJR
>> >> >> FFjSWC8LaxmWI%3D&reserved=
>> >> >> >>>>0
>> >> >> >> >><https://na01.safelinks.protection.outlook.com/?url=
>> >> >> >> https%3A%2F%2Fwww.pat
>> >> >> >> >>r
>> >> >> >> >>eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com
>> >> >> >> %7Ca44c142f0ddc4
>> >> >> >> >>5
>> >> >> >> >>5c70bf08d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
>> >> >> >> cee1%7C0%7C0%7C636549970
>> >> >> >> >>6
>> >> >> >> >>64822453&sdata=RxqP6b0L0BmWiiX3t6QdtbiA3YwoJR
>> >> >> >> FFjSWC8LaxmWI%3D&reserved=0>
>> >> >> >> >>*
>> >> >> >> >
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >> >--
>> >> >> >
>> >> >> >Piotr Zarzycki
>> >> >> >
>> >> >> >Patreon:
>> >> >> >*https://na01.safelinks.protection.outlook.com/?url=
>> >> >> https%3A%2F%2Fwww.patr
>> >> >> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%
>> >> >> 7C8e313e7d7f9d46
>> >> >> >08759f08d57af7d477%7Cfa7b1b5a7b34438794aed2c178de
>> >> >> cee1%7C0%7C0%7C6365501272
>> >> >>
>> >> >>>03173382&sdata=CTWhfUy0ILGvvx3HwRbmnkSZ3Nf5ay
>> >> lHwldhGDulDOE%3D&reserved=0
>> >> >> ><https://na01.safelinks.protection.outlook.com/?url=
>> >> >> https%3A%2F%2Fwww.patr
>> >> >> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%
>> >> >> 7C8e313e7d7f9d46
>> >> >> >08759f08d57af7d477%7Cfa7b1b5a7b34438794aed2c178de
>> >> >> cee1%7C0%7C0%7C6365501272
>> >> >> >03173382&sdata=CTWhfUy0ILGvvx3HwRbmnkSZ3Nf5ay
>> >> >> lHwldhGDulDOE%3D&reserved=0>*
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >--
>> >> >
>> >> >Piotr Zarzycki
>> >> >
>> >> >Patreon:
>> >> >*https://na01.safelinks.protection.outlook.com/?url=
>> >> https%3A%2F%2Fwww.patr
>> >> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%
>> >> 7C061f7278ca3748
>> >> >bfaee408d57afb14a9%7Cfa7b1b5a7b34438794aed2c178de
>> >> cee1%7C0%7C0%7C6365501411
>> >>
>> >>>62759398&sdata=rpVtPRF2nJb03vSLEIQiK0K3uzGMs6
>> 6vbTZtOxsVXKs%3D&reserved=0
>> >> ><https://na01.safelinks.protection.outlook.com/?url=
>> >> https%3A%2F%2Fwww.patr
>> >> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%
>> >> 7C061f7278ca3748
>> >> >bfaee408d57afb14a9%7Cfa7b1b5a7b34438794aed2c178de
>> >> cee1%7C0%7C0%7C6365501411
>> >> >62759398&sdata=rpVtPRF2nJb03vSLEIQiK0K3uzGMs6
>> >> 6vbTZtOxsVXKs%3D&reserved=0>*
>> >>
>> >>
>> >
>> >
>> >--
>> >
>> >Piotr Zarzycki
>> >
>> >Patreon:
>> >*https://na01.safelinks.protection.outlook.com/?url=
>> https%3A%2F%2Fwww.patr
>> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%
>> 7C91e633a78bea4f
>> >c4c89908d57b853bdf%7Cfa7b1b5a7b34438794aed2c178de
>> cee1%7C0%7C0%7C6365507345
>> >24475642&sdata=dG08yDIsBZVQ1XNIJIjCCqFgQwgmNQ
>> HJQSQ7ds5O%2F38%3D&reserved=0
>> ><https://na01.safelinks.protection.outlook.com/?url=
>> https%3A%2F%2Fwww.patr
>> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%
>> 7C91e633a78bea4f
>> >c4c89908d57b853bdf%7Cfa7b1b5a7b34438794aed2c178de
>> cee1%7C0%7C0%7C6365507345
>> >24475642&sdata=dG08yDIsBZVQ1XNIJIjCCqFgQwgmNQ
>> HJQSQ7ds5O%2F38%3D&reserved=0
>> >>*
>>
>>
>
>
>-- 
>
>Piotr Zarzycki
>
>Patreon: 
>*https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patr
>eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C0c4af859745d4f
>1e55fb08d57ba22da3%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365508588
>36682085&sdata=vcTmV4sMSk3ZfhGCKd4mX6%2ByAb8saVYLysyZnCX%2FV8M%3D&reserved
>=0
><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patr
>eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C0c4af859745d4f
>1e55fb08d57ba22da3%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365508588
>36682085&sdata=vcTmV4sMSk3ZfhGCKd4mX6%2ByAb8saVYLysyZnCX%2FV8M%3D&reserved
>=0>*

Reply via email to