Carlos, In "1" are you saying that each row would be a HeaderList type of object ? - This is your idea?
wt., 5 maj 2020 o 17:04 Carlos Rovira <carlosrov...@apache.org> napisał(a): > Hi Piotr, > > I was trying to expose a plan to do and I see mainly two routes: > > 1 List/VirtualList > 2 Table (will need VirtualTable too) > > If we go 1 (List/VirtualList), then will have a HeaderList that is > basically a DG without more implications (sorting, editing, column > reordering....), and I think that solve your inmediate problem with > variable row heights. So next thing could be DataGrid extending HeaderList. > The 3-4 points at the end are the complciated things to solve if we go that > route, and maybe we can think on some bead infrastructure (like > initializers on renderers) to solve it. > > For 2 (Table route), the main problem I see is to solve scrolling for body > part. but other things will probably be easier. > > Hope that will be more clear. > > Carlos > > > > > > > > El mar., 5 may. 2020 a las 16:13, Piotr Zarzycki (< > piotrzarzyck...@gmail.com>) > escribió: > > > Carlos, > > > > Unfortunately I don't understand which of your points resolve issue from > > this email thread. > > > > Thanks, > > Piotr > > > > wt., 5 maj 2020 o 14:47 Carlos Rovira <carlosrov...@apache.org> > > napisał(a): > > > > > Hi, > > > > > > thinking about this a bit more: > > > > > > * Basic components are List and VirtualList > > > * Then a HeaderList could be next step by just incorporating a Header > > > (There will be a Virtual version too) > > > * Next DataGrid could be a HeaderList that implements sorting. Maybe > this > > > will not be that hard since it implies order the complete Row. Again > > > Virtual version should be considered > > > > > > Things to consider: > > > - There's no "Cell" or CellRenderer considered > > > - No editing capabilities since there's no cell concept > > > - Switch column will be hard too > > > - more DG things to consider?... > > > > > > These latest points maybe could be rethinked to add some bead > > > infrastructure that support it. > > > > > > Another thing: Jewel Table could be as well other way to deal with > this. > > If > > > we add scrolling support for rows to maintain header on its own. Or > > someone > > > see some problems with this approach? > > > > > > Thanks > > > > > > > > > El mar., 5 may. 2020 a las 12:34, Piotr Zarzycki (< > > > piotrzarzyck...@gmail.com>) > > > escribió: > > > > > > > Hi Carlos, > > > > > > > > Thanks for your thoughts. I believe you are right that we may have a > > > > headache in case of column reordering and sorting later on. However > I'm > > > > wondering whether this problems wouldn't be less painful than current > > > one. > > > > To me DG in current state is unusable fully for bigger amount of data > > and > > > > I'm saying about data where you have more than 50 or 100 rows, not > > > > necessary hundreds of rows. > > > > > > > > If there will be at least 1 cell among those 100 rows which expands > > over > > > > height of the row - it would be unreadable. - Here we go DataGrid is > > > > unusable. > > > > > > > > Greg any thoughts about Carlos's potential sorting problems ? > > > > > > > > Thanks, > > > > Piotr > > > > > > > > wt., 5 maj 2020 o 12:21 Carlos Rovira <carlosrov...@apache.org> > > > > napisał(a): > > > > > > > > > Hi, > > > > > > > > > > sorry for my late response here. flooded these days with lots of > > > things. > > > > > > > > > > I think the manage of row height is a problem since it needs to > sync > > > with > > > > > the rest of columns, maybe this could be big problem. > > > > > > > > > > About to go rows instead columns, I think that will work better for > > > that > > > > > case, but in that case I think we will have a problem with > reordering > > > of > > > > > columns and order data in a column (asc, desc). > > > > > > > > > > Another point to take into account. I think many people in flex use > > to > > > > see > > > > > multi column data list as DataGrid. While working on Flex I end > using > > > > more > > > > > List that DataGrid with renders that represent various pieces of > > > > > information (instead of DG cells). That worked very well. The > problem > > > in > > > > > this approach is to handle a Header in an easy way. For this reason > > I'm > > > > > working this days in a "HeaderList" that is just that a List with a > > top > > > > > header. This will be more efficient and also have a look and feel > > more > > > > > closer to modern apps nowadays [1] (I search quickly for something > > that > > > > > shows a bit like what I want to expose) > > > > > > > > > > I think DG is needed when you need sorting columns or reordering, > but > > > if > > > > > that's not the case, I think we're overusing it since we come from > a > > > Flex > > > > > background and this days list based solutions are simpler, > beautiful > > > and > > > > > better. > > > > > > > > > > That doesn't mean we don't have the problems stated here for > > DataGrid, > > > > just > > > > > saying that many of us should rethink where DG is worth it or not. > > > > > > > > > > Piotr, about my time. I need to work on HeaderList since a client > > > request > > > > > me. If you need DG solutions, maybe you can start working on new > > beads > > > > that > > > > > will be a total replace of the actual ones so we can try it and see > > if > > > > that > > > > > way is a better approach or not (rows against columns). If not I'll > > try > > > > to > > > > > reach to it later. > > > > > > > > > > Thanks > > > > > > > > > > > > > > > [1] https://ps.w.org/wpforo/assets/screenshot-1.png?rev=2121401 > > > > > > > > > > El sáb., 2 may. 2020 a las 16:32, Alex Harui > > (<aha...@adobe.com.invalid > > > > >) > > > > > escribió: > > > > > > > > > > > I don't think there is one perfect implementation. And that's > why > > we > > > > > have > > > > > > beads. I think locked columns and individual cell selection are > > much > > > > > > easier with the current implementation, but I agree that variable > > row > > > > > > height will probably be easier if all cells are in a row > container. > > > > > > > > > > > > We just need volunteers to create the other implementations. > > > > > > > > > > > > -Alex > > > > > > > > > > > > On 5/2/20, 12:17 AM, "Piotr Zarzycki" < > piotrzarzyck...@gmail.com> > > > > > wrote: > > > > > > > > > > > > Hi, > > > > > > > > > > > > I absolutely agree with Greg. In fact before I read his > email I > > > was > > > > > > digging > > > > > > into DataGrid and my initial thought was - when I set > > rowHeight = > > > > NaN > > > > > > - My > > > > > > rows should be adjusted automatically by the browser - why it > > > does > > > > > not > > > > > > happen? This is exactly because of that: > > > > > > > > > > > > In browser I think things would be a lot easier if the > > > > > > > internal 'lists' were managed as a single list of native > rows > > > > > > instead of > > > > > > > composed columns of lists for DataGrids (specifically in > the > > > > > > browser). > > > > > > > > > > > > > > > > > > Carlos do you think it would be good to change that > > > implementation > > > > in > > > > > > the > > > > > > way as Greg is proposing ? Do you have time to work on that ? > > > > > > > > > > > > Thanks, > > > > > > Piotr > > > > > > > > > > > > czw., 30 kwi 2020 o 20:48 Greg Dove <greg.d...@gmail.com> > > > > > napisał(a): > > > > > > > > > > > > > For the variable rowHeight - that works fine for individual > > > > lists, > > > > > > but for > > > > > > > datagrid that needs to match across the corresponding > > renderers > > > > for > > > > > > each > > > > > > > item in the other columns, I did not check to see how that > > part > > > > > > works. > > > > > > > > > > > > > > I haven't looked at the current Jewel implementation of > > > DataGrid > > > > > > yet, but I > > > > > > > do think that in general we have a lot of 'Flex'/swf > thinking > > > in > > > > > the > > > > > > way > > > > > > > things work for DataGrid support, and I am not sure it is > the > > > > best > > > > > > way for > > > > > > > browsers. I understand the need for this in emulation > > > components, > > > > > but > > > > > > > perhaps even the implementation there is not important if > the > > > > > > external api > > > > > > > remains the same. In browser I think things would be a lot > > > easier > > > > > if > > > > > > the > > > > > > > internal 'lists' were managed as a single list of native > rows > > > > > > instead of > > > > > > > composed columns of lists for DataGrids (specifically in > the > > > > > > browser). > > > > > > > Columns could probably be managed then by custom uid-style > > > > classes > > > > > > for > > > > > > > styling of their parts of the 'rows'. > > > > > > > > > > > > > > I think this probably covers off things like variable row > > > height > > > > > more > > > > > > > height easily, and makes hover/selection at row level etc > > > easier. > > > > > And > > > > > > > things like snapping the scrolling to the renderers (via > > native > > > > > > snap-to > > > > > > > support for scroll snapping iiuc) should be much easier > also > > I > > > > > > think. Do I > > > > > > > have time to work on this ? No - definitely not anytime > real > > > > soon. > > > > > > But I > > > > > > > had been thinking about it after digging into internals of > > > > DataGrid > > > > > > > recently. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Fri, May 1, 2020 at 3:52 AM Alex Harui > > > > <aha...@adobe.com.invalid > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > I haven't looked at Jewel's Lists in detail, but if they > > have > > > > > > switched to > > > > > > > > scenario 2 (virtual rendering is probably a good > default), > > > then > > > > > > there are > > > > > > > > assumptions in the beads about fixed rowHeight. But to > > > handle > > > > 5, > > > > > > you > > > > > > > would > > > > > > > > start with the earlier beads that did 1 and forget > virtual > > > > > > rendering for > > > > > > > > now. Then you should be able to not worry about fixed > > > > rowheight > > > > > > any more > > > > > > > > since our vertical layouts for containers certainly > handle > > > > > > different > > > > > > > > children heights. The beads for 5 should just set a > width > > > and > > > > > let > > > > > > the > > > > > > > > browser layout the children as blocks. > > > > > > > > > > > > > > > > HTH, > > > > > > > > -Alex > > > > > > > > > > > > > > > > On 4/30/20, 8:47 AM, "Piotr Zarzycki" < > > > > piotrzarzyck...@gmail.com > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > I thought I do understand what do you mean, but now > I'm > > > > > > confused. > > > > > > > > Where do > > > > > > > > you see complexity ? In amount of rows and > calculations > > > > what > > > > > > height > > > > > > > of > > > > > > > > the > > > > > > > > rows are ? > > > > > > > > > > > > > > > > czw., 30 kwi 2020 o 17:44 Alex Harui > > > > > <aha...@adobe.com.invalid > > > > > > > > > > > > > > > napisał(a): > > > > > > > > > > > > > > > > > IMO, there are various tricks to handle a few > > thousand > > > > rows > > > > > > if the > > > > > > > > > renderers are simple. For example, feeding in rows > > > with > > > > a > > > > > > timer. > > > > > > > > If the > > > > > > > > > computer can handle the memory required for a few > > > > thousand > > > > > > > renderers > > > > > > > > the > > > > > > > > > main issue is the time to create and render for the > > > first > > > > > > time. > > > > > > > > > > > > > > > > > > It is when you get out to 10,000 rows or the > > renderers > > > > are > > > > > > > > complex/slow > > > > > > > > > that it doesn't make sense to keep every renderer > in > > > > memory > > > > > > and > > > > > > > > that's why > > > > > > > > > the complexity goes up. > > > > > > > > > > > > > > > > > > Also, schedule-wise, you might start with 5 now and > > > then > > > > > > take more > > > > > > > > time to > > > > > > > > > work on 7 or 8. > > > > > > > > > > > > > > > > > > HTH, > > > > > > > > > -Alex > > > > > > > > > > > > > > > > > > On 4/30/20, 8:33 AM, "Piotr Zarzycki" < > > > > > > piotrzarzyck...@gmail.com> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > Hi Alex, > > > > > > > > > > > > > > > > > > It's hard to say, cause we are heavily using > > > DataGrid > > > > > in > > > > > > whole > > > > > > > > > application. > > > > > > > > > Each view contains some list. We have for > example > > > now > > > > > > view > > > > > > > called > > > > > > > > > "Correspondence" where in theory could be > > hundreds > > > > rows > > > > > > or > > > > > > > maybe > > > > > > > > even > > > > > > > > > thousands. > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > Piotr > > > > > > > > > > > > > > > > > > czw., 30 kwi 2020 o 17:27 Alex Harui > > > > > > <aha...@adobe.com.invalid > > > > > > > > > > > > > > > > > napisał(a): > > > > > > > > > > > > > > > > > > > Piotr, how many rows of data are there? > > > > > > > > > > > > > > > > > > > > IMO, there are multiple scenarios of > increasing > > > > > > complexity. > > > > > > > > That's > > > > > > > > > one of > > > > > > > > > > the reasons we have beads in Royale. The > vast > > > > > > majority of > > > > > > > our > > > > > > > > work > > > > > > > > > so far > > > > > > > > > > has been to handle the simpler scenarios. > The > > > > ones I > > > > > > can > > > > > > > > think of > > > > > > > > > are: > > > > > > > > > > > > > > > > > > > > 1) few rows, fixed height, pixel scrolling > > > > > > > > > > 2) lots of rows, fixed height, pixel > scrolling > > > > > > > > > > 3) lots of rows, fixed height, row scrolling > > > > > > > > > > 4) few rows, fixed height, row scrolling > > > > > > > > > > 5) few rows, variable height, pixel scrolling > > > > > > > > > > 6) few rows, variable height, row scrolling > > > > > > > > > > 7) lots of rows, variable height, row > scrolling > > > > > > > > > > 8) lots of rows, variable height, pixel > > scrolling > > > > > > > > > > > > > > > > > > > > We've done 1 & 2 as beads. 5 should be > > > > not-too-hard > > > > > > > although I > > > > > > > > > certainly > > > > > > > > > > be wrong about that. If you can live with 5, > > > then > > > > > see > > > > > > if you > > > > > > > > and/or > > > > > > > > > Carlos > > > > > > > > > > and other volunteers can come up with the > beads > > > for > > > > > it. > > > > > > > There > > > > > > > > is a > > > > > > > > > big > > > > > > > > > > jump in complexity after 5, especially 7 & 8. > > > > > > > > > > > > > > > > > > > > HTH, > > > > > > > > > > -Alex > > > > > > > > > > > > > > > > > > > > On 4/30/20, 6:54 AM, "Piotr Zarzycki" < > > > > > > > > piotrzarzyck...@gmail.com> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > Just for the reference when you setup > > > > > > variableRowHeight = > > > > > > > > true > > > > > > > > > in flex > > > > > > > > > > DataGrid looks like that - > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fibb.co%2FD7K9dLs&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609623612&sdata=sUdKOR6zDPo4XRfeXYfIB16e2X6yy6MmVDWvntYZ3no%3D&reserved=0 > > > > > > > > > > > > > > > > > > > > czw., 30 kwi 2020 o 15:51 Piotr Zarzycki > < > > > > > > > > > piotrzarzyck...@gmail.com> > > > > > > > > > > napisał(a): > > > > > > > > > > > > > > > > > > > > > Hi Carlos, > > > > > > > > > > > > > > > > > > > > > > I also do not see any other option than > > > > > generate > > > > > > each > > > > > > > > height > > > > > > > > > of the > > > > > > > > > > row > > > > > > > > > > > based on the largest height in each > row. > > It > > > > is > > > > > > > > definitely not > > > > > > > > > an > > > > > > > > > > option to > > > > > > > > > > > force people use rowHeight - That model > > > > > > definitely fail > > > > > > > > in our > > > > > > > > > > application > > > > > > > > > > > where there are different portion of > text > > > in > > > > > > rows. One > > > > > > > > row > > > > > > > > > will have > > > > > > > > > > 30 > > > > > > > > > > > height the second one 45 because there > > more > > > > > text > > > > > > to > > > > > > > > display > > > > > > > > > and so > > > > > > > > > > on. > > > > > > > > > > > > > > > > > > > > > > Right now Jewel DataGrid doesn't have > > > > > > > variableRowHeight. > > > > > > > > To me > > > > > > > > > it > > > > > > > > > > should > > > > > > > > > > > in some form appear and if: > > > > > > > > > > > > > > > > > > > > > > variableRowHeight = true - Row height > is > > > > being > > > > > > > > calculated > > > > > > > > > > dynamically. > > > > > > > > > > > Each row can have different height. > Setup > > > > > > rowHeight > > > > > > > when > > > > > > > > that > > > > > > > > > option > > > > > > > > > > is > > > > > > > > > > > true won't have affect. > > > > > > > > > > > variableRowHeight = false - default > > > state. > > > > > > Setup > > > > > > > > rowHeight > > > > > > > > > has some > > > > > > > > > > > effect. Each row has some predefined > > > default > > > > > > height ex. > > > > > > > > 35. > > > > > > > > > > > > > > > > > > > > > > Thoughts ? > > > > > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > Piotr > > > > > > > > > > > > > > > > > > > > > > pt., 10 kwi 2020 o 17:35 Carlos Rovira > < > > > > > > > > > carlosrov...@apache.org> > > > > > > > > > > > napisał(a): > > > > > > > > > > > > > > > > > > > > > >> Hi Piotr, > > > > > > > > > > >> > > > > > > > > > > >> I was taking a look at the issue. Some > > > > initial > > > > > > > thoughts: > > > > > > > > > > >> > > > > > > > > > > >> List has "variableRowHeight: true" > > > (defined > > > > in > > > > > > Theme) > > > > > > > > and > > > > > > > > > rowHeight > > > > > > > > > > = > > > > > > > > > > >> NaN; by > > > > > > > > > > >> default > > > > > > > > > > >> (as we can see in first List example > in > > > TDJ. > > > > > We > > > > > > can > > > > > > > have > > > > > > > > > different > > > > > > > > > > heights > > > > > > > > > > >> for each item renderer, while second > > > example > > > > > has > > > > > > > > rowHeight > > > > > > > > > defined > > > > > > > > > > and > > > > > > > > > > >> that > > > > > > > > > > >> makes all items has the same height > > (Side > > > > > note: > > > > > > Here > > > > > > > > there's > > > > > > > > > a bug > > > > > > > > > > since > > > > > > > > > > >> defining rowHeight should remove > > > > > > "variableRowHeight", > > > > > > > > since > > > > > > > > > both > > > > > > > > > > should be > > > > > > > > > > >> mutually exclusive). > > > > > > > > > > >> > > > > > > > > > > >> In DataGrid, we have lots of Lists > > > becoming > > > > > > columns. > > > > > > > So > > > > > > > > to > > > > > > > > > make DG > > > > > > > > > > work as > > > > > > > > > > >> List I think we need to sync all rows > to > > > > match > > > > > > the > > > > > > > > bigger > > > > > > > > > height per > > > > > > > > > > >> renderer in all lists. > > > > > > > > > > >> > > > > > > > > > > >> I think there's no other way to do > this. > > > > > > > > > > >> > > > > > > > > > > >> If not, other options is to avoid DG > > have > > > > > > > > "variableRowHeight" > > > > > > > > > and > > > > > > > > > > force > > > > > > > > > > >> people to use "rowHeight". > > > > > > > > > > >> > > > > > > > > > > >> I don't remember what Flex allow to do > > > here, > > > > > > but maybe > > > > > > > > is > > > > > > > > > something > > > > > > > > > > to > > > > > > > > > > >> discuss a bit to see what could be the > > > best > > > > > for > > > > > > Royale > > > > > > > > Jewel > > > > > > > > > > DataGrid. > > > > > > > > > > >> > > > > > > > > > > >> Thanks > > > > > > > > > > >> > > > > > > > > > > >> Carlos > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> El vie., 10 abr. 2020 a las 15:45, > Piotr > > > > > > Zarzycki (< > > > > > > > > > > >> piotrzarzyck...@gmail.com>) escribió: > > > > > > > > > > >> > > > > > > > > > > >> > Hi Carlos, > > > > > > > > > > >> > > > > > > > > > > > >> > We have switched in our application > to > > > > > > DataGrid. > > > > > > > > There are > > > > > > > > > > unfortunately > > > > > > > > > > >> > some custom adjustment to have it > > > properly > > > > > > working, > > > > > > > > but we > > > > > > > > > can > > > > > > > > > > move > > > > > > > > > > >> forward > > > > > > > > > > >> > with that. > > > > > > > > > > >> > However I have found something > which I > > > > > believe > > > > > > > should > > > > > > > > be > > > > > > > > > fixed > > > > > > > > > > sooner > > > > > > > > > > >> than > > > > > > > > > > >> > later. > > > > > > > > > > >> > > > > > > > > > > > >> > When rowHeight is not set and there > > are > > > > > > different > > > > > > > > amount of > > > > > > > > > data > > > > > > > > > > in data > > > > > > > > > > >> > grid cells rows are being cut and > data > > > are > > > > > not > > > > > > > > displaying > > > > > > > > > fully. > > > > > > > > > > I have > > > > > > > > > > >> > pushed to TourDeJewel example which > > > shows > > > > > the > > > > > > issue. > > > > > > > > > > >> > > > > > > > > > > > >> > Thanks, > > > > > > > > > > >> > -- > > > > > > > > > > >> > > > > > > > > > > > >> > Piotr Zarzycki > > > > > > > > > > >> > > > > > > > > > > > >> > Patreon: * > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609623612&sdata=kKWcwxHbBUFbNqIn6cbOe4PzzIJ7ZXHi%2BaDGA8pAHOY%3D&reserved=0 > > > > > > > > > > >> > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&reserved=0 > > > > > > > > > > >* > > > > > > > > > > >> > > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >> -- > > > > > > > > > > >> Carlos Rovira > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=iDtaQK5fHFY6flba5jUruY2JHsnIH%2Fjach3RozTxN%2B4%3D&reserved=0 > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > Piotr Zarzycki > > > > > > > > > > > > > > > > > > > > > > Patreon: * > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&reserved=0 > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&reserved=0 > > > > > > > > > > >* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > Piotr Zarzycki > > > > > > > > > > > > > > > > > > > > Patreon: * > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&reserved=0 > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&reserved=0 > > > > > > > > > > >* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > Piotr Zarzycki > > > > > > > > > > > > > > > > > > Patreon: * > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&reserved=0 > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&reserved=0 > > > > > > > > > >* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Piotr Zarzycki > > > > > > > > > > > > > > > > Patreon: * > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&reserved=0 > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&reserved=0 > > > > > > > > >* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Piotr Zarzycki > > > > > > > > > > > > Patreon: * > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609643604&sdata=GQpRF%2F%2FMYdF7v08zgb1Kjvlf7zUFmLAuWDaVp9fe0eE%3D&reserved=0 > > > > > > < > > > > > > > > > > > > > > > > > > > > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609643604&sdata=GQpRF%2F%2FMYdF7v08zgb1Kjvlf7zUFmLAuWDaVp9fe0eE%3D&reserved=0 > > > > > > >* > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Carlos Rovira > > > > > http://about.me/carlosrovira > > > > > > > > > > > > > > > > > -- > > > > > > > > Piotr Zarzycki > > > > > > > > Patreon: *https://www.patreon.com/piotrzarzycki > > > > <https://www.patreon.com/piotrzarzycki>* > > > > > > > > > > > > > -- > > > Carlos Rovira > > > http://about.me/carlosrovira > > > > > > > > > -- > > > > Piotr Zarzycki > > > > Patreon: *https://www.patreon.com/piotrzarzycki > > <https://www.patreon.com/piotrzarzycki>* > > > > > -- > Carlos Rovira > http://about.me/carlosrovira > -- Piotr Zarzycki Patreon: *https://www.patreon.com/piotrzarzycki <https://www.patreon.com/piotrzarzycki>*