 |
 |
Firefox users - A fresh start...
|
 |
|
 |
|
Mac Elite
Join Date: Oct 2003
Location: A couple of stones from the sun.
Status:
Offline
|
|
|
|
Simple Empire...
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Mar 2002
Location: Smallish town in Ohio
Status:
Offline
|
|
I'm getting sicker and sicker of Safari beachballing on sites that Firefox doesn't. I'm also getting sick and tired of Safari sucking up so much CPU on secure sites when Firefox doesn't.
|
|
|
| |
|
|
|
 |
|
 |
|
Moderator 
Join Date: Sep 2001
Location: Arizona
Status:
Offline
|
|
Anybody else here been using the latest AltiVec optimized Firefox builds? Quite excellent.
|
|
I like chicken
I like liver
Meow Mix, Meow Mix
Please de-liv-er
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2003
Location: Appalachia
Status:
Offline
|
|
Originally posted by Lateralus:
Anybody else here been using the latest AltiVec optimized Firefox builds? Quite excellent.
Which are those?
|

Retired
|
| |
|
|
|
 |
|
 |
|
Moderator 
Join Date: Sep 2001
Location: Arizona
Status:
Offline
|
|
Originally posted by MacNStein:
Which are those?
These. 
|
|
I like chicken
I like liver
Meow Mix, Meow Mix
Please de-liv-er
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2001
Location: The bottom of Cloud City
Status:
Offline
|
|
2 questions. What is the point of that google site and why do you need AltiVec for surfing the web?
|

"Ahhhhhhhhhhhhhhhh"
|
| |
|
|
|
 |
|
 |
|
Moderator 
Join Date: Sep 2001
Location: Arizona
Status:
Offline
|
|
Originally posted by Severed Hand of Skywalker:
2 questions. What is the point of that google site and why do you need AltiVec for surfing the web?
You make it sound as if web browsers don't make use of the processor. Every time you load a web page, it is your processor doing the brunt of the work, especially with more modern web pages that have a good bit of multimedia content.
|
|
I like chicken
I like liver
Meow Mix, Meow Mix
Please de-liv-er
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2003
Location: Appalachia
Status:
Offline
|
|
Originally posted by Lateralus:
These.
Wow.  Flash and Java seem to be much faster/smoother.
|

Retired
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2001
Location: The bottom of Cloud City
Status:
Offline
|
|
Originally posted by Lateralus:
You make it sound as if web browsers don't make use of the processor. Every time you load a web page, it is your processor doing the brunt of the work, especially with more modern web pages that have a good bit of multimedia content.
I can't remember hitting sites that are so heavy multimedia that I would need AltiVec no.
|

"Ahhhhhhhhhhhhhhhh"
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2003
Location: Appalachia
Status:
Offline
|
|
Originally posted by Severed Hand of Skywalker:
2 questions. What is the point of that google site and why do you need AltiVec for surfing the web?
Why not, you saving it for something? 
|

Retired
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Oct 2000
Location: Amboy Navada, Canadia.
Status:
Offline
|
|
Cool with the optimized builds, didn't know where they were, didn't want to ask ;-)
On the startpage, I have my own, I never liked the idea of a homepage other than the basic google.com. Firefox has a google search bar, as does every other modern browser I can think of now. Very cool that Google is "spreading the word", but the white framing around the search area needs to go (use transparency instead of a white background on images, even for a page with a white background, btw) ;-)
|

This insanity brought to you by:
The French CBC, driving antenna users mad since 1937.
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Jun 2004
Location: ma, germany
Status:
Offline
|
|
'been test-driving firefox for 2 days now, and i like it!
just made it my default browser. 
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2003
Location: Reno, Nevada
Status:
Offline
|
|
I will have to DL those optimized browers when I get home. How do you know which model processor you have? I have a 1st Gen Alu PB 15" 1.25gHz.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2001
Location: The bottom of Cloud City
Status:
Offline
|
|
Can someone point me to a site that would use AltiVec?
|

"Ahhhhhhhhhhhhhhhh"
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Jun 2004
Location: ma, germany
Status:
Offline
|
|
Originally posted by Severed Hand of Skywalker:
Can someone point me to a site that would use AltiVec?
i highly doubt that the flash plug-in is altivec compatible...
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2001
Location: The bottom of Cloud City
Status:
Offline
|
|
Originally posted by phoenixboy70:
i highly doubt that the flash plug-in is altivec compatible...
Well does this firefox then optimize flash work for you? doesn't the plug-in have to have support for it?
|

"Ahhhhhhhhhhhhhhhh"
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2003
Location: Appalachia
Status:
Offline
|
|
Originally posted by Severed Hand of Skywalker:
Can someone point me to a site that would use AltiVec?
Disney.com loads more smoothly on the Altivec Firefox build.
|

Retired
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Jun 2004
Location: ma, germany
Status:
Offline
|
|
Originally posted by Severed Hand of Skywalker:
Well does this firefox then optimize flash work for you? doesn't the plug-in have to have support for it?
that's actually my point. i don't think it does. maybe they did something with the ff's native rendering engine (gecko?) to take advantage of altivec.
good for surfing porn i guess. render those thumbnails in no time flat. 
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2001
Location: The bottom of Cloud City
Status:
Offline
|
|
Originally posted by MacNStein:
Disney.com loads more smoothly on the Altivec Firefox build.
Can you bench it keeping in mind that it will get cashed?
|

"Ahhhhhhhhhhhhhhhh"
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Apr 2003
Location: Anywhere but here.
Status:
Offline
|
|
Originally posted by Lateralus:
Anybody else here been using the latest AltiVec optimized Firefox builds? Quite excellent.
Kick@$$ is all I've got to say. I had no idea sites could be rendered so quickly.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Mar 1999
Location: Bellevue, WA
Status:
Offline
|
|
I have been using thatn optimized build since 1.0 RC2. It works great on my dual G4. Actually,I completely switched to FireFox. There is a couple nicer widgets as well.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status:
Offline
|
|
Originally posted by Lateralus:
You make it sound as if web browsers don't make use of the processor. Every time you load a web page, it is your processor doing the brunt of the work, especially with more modern web pages that have a good bit of multimedia content.
You make it sound as if you don't know what AltiVec is.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2001
Location: The bottom of Cloud City
Status:
Offline
|
|
Originally posted by Angus_D:
You make it sound as if you don't know what AltiVec is.
Bingo.
|

"Ahhhhhhhhhhhhhhhh"
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Aug 2004
Status:
Offline
|
|
So which AltiVec build will work with an ATI Graphics eMac (2nd gen, 1GHz)? Better yet anywhere this info is listed?
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2003
Location: Appalachia
Status:
Offline
|
|
Originally posted by Severed Hand of Skywalker:
Can you bench it keeping in mind that it will get cashed?
With FF 1.0 (non-Altivec) it takes ~15 secs for Disney.com to load completely. With the Altivec enhanced FF 1.0 it takes ~8 secs (on my Rev. A 12" PB). And yes, I dumped the caches each time and tested 5 times each build. Seems to make a difference.
|

Retired
|
| |
|
|
|
 |
|
 |
|
Clinically Insane
Join Date: Dec 1999
Status:
Offline
|
|
I'm waiting for an AltiVec enhanced Flash plugin. F*CK YOU MACROMEDIA!
|
|
"…I contend that we are both atheists. I just believe in one fewer god than
you do. When you understand why you dismiss all the other possible gods,
you will understand why I dismiss yours." - Stephen F. Roberts
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2001
Location: The bottom of Cloud City
Status:
Offline
|
|
Originally posted by MacNStein:
With FF 1.0 (non-Altivec) it takes ~15 secs for Disney.com to load completely. With the Altivec enhanced FF 1.0 it takes ~8 secs (on my Rev. A 12" PB). And yes, I dumped the caches each time and tested 5 times each build. Seems to make a difference.
Well if you are a frequent visitor to the disney site you are living the high life now.
Took 3 seconds to load on my dual G4 in safari.
|

"Ahhhhhhhhhhhhhhhh"
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Apr 2003
Location: Herzliya
Status:
Offline
|
|
With all the current bugs in Safari I think I'm gonna start using FireFox till they sort it out.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Oct 2001
Location: Yokohama, Japan
Status:
Offline
|
|
I hate to keep spamming all the Firefox threads, but if you'd like to pretty-up your Firefox, I've put together some good resources on my website, including links to the various optimized builds of Firefox. http://www.amake.us
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Aug 2004
Status:
Offline
|
|
Originally posted by TheBadgerHunter:
So which AltiVec build will work with an ATI Graphics eMac (2nd gen, 1GHz)? Better yet anywhere this info is listed?
Same question
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2003
Location: Appalachia
Status:
Offline
|
|
Originally posted by Severed Hand of Skywalker:
Well if you are a frequent visitor to the disney site you are living the high life now.
Took 3 seconds to load on my dual G4 in safari.
Nope.  It was the most multimedia enhanced site I could think of at the time.
|

Retired
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Oct 2001
Location: Yokohama, Japan
Status:
Offline
|
|
According to the guy doing the G4-optimized builds, they are targeted at the G4 7450 processor. He also says, however, that the optimizations should also be good for the 7440, 7441, 7445, 7447A, 7450, 7455 and 7457.
|
|
|
| |
|
|
|
 |
|
 |
|
Moderator 
Join Date: Apr 2001
Location: Wasilla, Alaska
Status:
Offline
|
|
Originally posted by TheBadgerHunter:
So which AltiVec build will work with an ATI Graphics eMac (2nd gen, 1GHz)? Better yet anywhere this info is listed?
Mactracker says you've got a PowerPC 7455.
(Don't know where else to get the info..)
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Mar 2002
Location: Winnipeg
Status:
Offline
|
|
If enhancing a web browser for Altivec helps why hasn't Apple done this with Safari?
|
|
|
| |
|
|
|
 |
|
 |
|
Moderator Emeritus 
Join Date: Mar 2001
Location: Austin, MN, USA
Status:
Offline
|
|
Originally posted by Superchicken:
If enhancing a web browser for Altivec helps why hasn't Apple done this with Safari?
What makes you think they haven't? Is WebCore in Objective-C/Cocoa and if so, doesn't that mean it's Altivec ready without any extra work? Just guessing.
For the Firefox lovers out there, I have issues that always make me go back to Safari. This one might be solvable. My middle click does not open a new tab anymore. It just regular clicks. Can this be enabled somehow without me installing some 3rd party mouse driver?
The other issue I have is it just doesn't feel like OS X. It feels like I'm running a Windows program. Scrolling with my mouse wheel only work on the pages and not in the prefs. Do I care about that? No, but it's a good example of how it's feels different. The text boxes, buttons, all that, are not OS X. The pop-up menus are not OS X.
Safari is great because it's quick and feels like a proper OS X app. I'd use OmniWeb but for some reason it's still just slow. Firefox is quick (although I can't tell a difference between the "optimized" and regular versions), and works well enough, so I'll just have to see if I can get used to the new "feeling" and if not, I'll just go back to Safari.
[edit: I'm editing this post in Firefox. At least it's not slow when typing just 'cause there are animated gifs going. But it looks like crap. 日本語のテスト]
[edit2: When posting here, I'm used to the way Safari handles the scroll wheel. When in this text box that I'm typing in, it scrolls this up and down, but just moving it to another spot on the page moves the window. Having to click to activate either one is not what I'm used to. sigh. Yes, I'm a picky bastard. I've just gotten used to the way it's done with Safari and overlooking the things that suck about Safari. Now I don't have to overlook some of those things anymore but I have to get used to other things. My life is so hard!]
[edit3: Cmd-up and Cmd-down doesn't work for going to the top and going to the bottom of the page, respectively. I know I can use "function-arrowkey" to use home and end but I use the right Cmd key so I can jump with one hand. This forces me to use two hands. Just something else I have to get used to or is there a way I can map it myself?]
[edit4: OMG "check spelling as you type" Where is it? I can't live without it. I'm a bad speller and get by on technology to keep me looking like I'm not. Last edit for a while... sorry, don't freak out on me.]
[edit5: Just an update that after following wataru's links, I applied the changes to make the widgets look better and they do look better. I can deal with this. Firefoxy didn't work though, but probably 'cause I renamed my firefox to firefox-g4 so I didn't have to throw away the official release. Really, this is the last edit for a while. I have other stuff to do.  ]
(Last edited by Xeo; Nov 10, 2004 at 09:08 PM.
)
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Oct 2001
Location: Yokohama, Japan
Status:
Offline
|
|
Originally posted by Xeo:
[edit5: Just an update that after following wataru's links, I applied the changes to make the widgets look better and they do look better. I can deal with this. Firefoxy didn't work though, but probably 'cause I renamed my firefox to firefox-g4 so I didn't have to throw away the official release. Really, this is the last edit for a while. I have other stuff to do. ]
Renaming your Firefox would not prevent Firefoxy from working. Are you positive it didn't work? To be honest I find that hard to believe. All it does is place files inside Firefox. Make sure Firefox isn't running when you drop it onto Firefoxy.
If you can confirm that it really doesn't work, please let me know the details because I'll have to update the app.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Dec 2000
Location: Maine
Status:
Offline
|
|
thats cool, firefox won't even start up, got 3 bounces then it just disappears. whatever, i don't really hate safari anyways.
|

I GOT WASTED WITH PHIL SHERRY!!!
|
| |
|
|
|
 |
|
 |
|
Moderator Emeritus 
Join Date: Mar 2001
Location: Austin, MN, USA
Status:
Offline
|
|
Originally posted by wataru:
Renaming your Firefox would not prevent Firefoxy from working. Are you positive it didn't work? To be honest I find that hard to believe. All it does is place files inside Firefox. Make sure Firefox isn't running when you drop it onto Firefoxy.
If you can confirm that it really doesn't work, please let me know the details because I'll have to update the app.
Well maybe it's not that your code is broken but I'm just having problems with the app. Firefoxy launches, bounces a few times, and goes away. I assumed this was expected behavior because there is no "unexpectedly quit" dialog that follows, and that I should drag and drop the files on it. But it doesn't seem to do anything at all. So I don't know what the issue is.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Oct 2001
Location: Yokohama, Japan
Status:
Offline
|
|
That is the expected behavior. All Firefoxy does is put a couple files inside the Firefox.app bundle. The next time you launch Firefox, your widgets should be fancy. That is all it does. Can you confirm that the following files are inside Firefox.app/Contents/MacOS/res/:
checkbox.png
platform-forms.css
radio_checked.png
radio.png
And that platform-forms.css contains, in the comments under Contributors, "Kevin Gerich (webmail@kmgerich.com)"? If so, that is all Firefoxy does; those files define special styles for the widgets Firefox displays in webpages, for instance the "Submit Reply" and "Preview Reply" buttons, or the search text field in these forums. Instead of the default ugly, boxy widgets, you now have ones that look like this:

|
|
|
| |
|
|
|
 |
|
 |
|
Mac Enthusiast
Join Date: May 2004
Location: norway
Status:
Offline
|
|
So what is the point with this Firefox-branded Google again?
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status:
Offline
|
|
Originally posted by Xeo:
What makes you think they haven't? Is WebCore in Objective-C/Cocoa and if so, doesn't that mean it's Altivec ready without any extra work? Just guessing.
You're wrong.
People, if you don't know what it is, go and read up, don't just spread nonsenses.
http://developer.apple.com/hardware/ve/:
The Velocity Engine, embodied in the G4 and G5 processors, expands the current PowerPC architecture through addition of a 128-bit vector execution unit that operates concurrently with existing integer and floating-point units. This provides for highly parallel operations, allowing for simultaneous execution of up to 16 operations in a single clock cycle. This new approach expands the processor's capabilities to concurrently address high-bandwidth data processing (such as streaming video) and the algorithmic intensive computations which today are handled off-chip by other devices, such as graphics, audio, and modem functions.The AltiVec instruction set allows operation on multiple bits within the 128-bit wide registers. This combination of new instructions, operation in parallel on multiple bits, and wider registers, provide speed enhancements of up to 30x on operations that are common in media processing.
|
|
|
| |
|
|
|
 |
|
 |
|
Moderator Emeritus 
Join Date: Mar 2001
Location: Austin, MN, USA
Status:
Offline
|
|
Originally posted by Angus_D:
You're wrong.
People, if you don't know what it is, go and read up, don't just spread nonsenses
I wouldn't call "just guessing" spreading nonsenses. But are you saying that Cocoa apps don't take advantage of altivec by default? Or what are you saying?
|
|
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Feb 2004
Status:
Offline
|
|
Originally posted by nooon:
So what is the point with this Firefox-branded Google again?
It provides a nice window into the Mozilla open source world and lets the uninformed know about the many available add-ons and resources out there. It's also not bloaty and full of junk to slow the initial browser loading process. I see it as a good page to set as the home page in someone's Firefox browser.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: May 2003
Status:
Offline
|
|
Anyone have speed comparisons on Safari v. Firefox v. Camino v. Opera?
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Nov 2003
Location: Minnesota
Status:
Offline
|
|
Originally posted by Xeo:
But are you saying that Cocoa apps don't take advantage of altivec by default? Or what are you saying?
Nope. You have to compile it specifically for Altivec enhancements. A Cocoa app is no different than a Carbon app in this regard. Also, not all code can just be compiled with Altivec on and magicly gain a huge speed boost. You need to make use of special libraries or at least use quite a bit of vector math.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Apr 2001
Location: The bottom of Cloud City
Status:
Offline
|
|
Firefox doesn't work with Java Chat even though Safari does, for that reason alone I can't use it.
|

"Ahhhhhhhhhhhhhhhh"
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status:
Offline
|
|
Originally posted by Xeo:
I wouldn't call "just guessing" spreading nonsenses. But are you saying that Cocoa apps don't take advantage of altivec by default? Or what are you saying?
Cocoa apps are no different than any other applications except that they utilise the Cocoa application framework. AltiVec is just an extension to the PowerPC instruction set. In order to benefit from it, you have to write code that specifically uses it - there are no auto-vectorising compilers available at the moment AFAIK (although it's obviously a big area of research - exploiting parallelism is becoming more and more important in software design). Basically it lets you perform the same operation on multiple data items at once.
AltiVec is primarily useful in multimedia applications because those tend to handle a lot of data that needs to have the same operations applied to it - thus it can be used to speed up digital signal processing. I'm not sure that web page rendering would be terribly easy to speed up using vectors, since it's not based on processing large amounts of data and isn't really a candidate for parallelism - it's not like there's a single algorithm that needs to be laboriously applied to a large data set.
AltiVec isn't some magic go-faster box that sits in the processor and speeds stuff up if you just "enable" it.
Anyway, I'm not even going to try and claim I fully understand all of it at the moment. Ask me again after I've done my E&EE degree
Edit: Oh, and people have been spreading nonsenses in this thread. It's patently obvious that most of the people bandy buzzwords about without any idea what they mean, adding to the confusion and spreading the misunderstandings. I'd be somewhat surprised if FireFox had any VE code in it at all - in fact, I might have to just go and grep the source in order to prove my point.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Oct 2001
Location: Yokohama, Japan
Status:
Offline
|
|
Originally posted by Severed Hand of Skywalker:
Firefox doesn't work with Java Chat even though Safari does, for that reason alone I can't use it.
Have you tried this? Without it, only Safari can access the latest version of Java in OS X.
By the way, I put out an update to Firefoxy. The widgets are the same, but if you're like Xeo and just don't appreciate drag-and-drop, then this is for you.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Nov 2003
Location: Minnesota
Status:
Offline
|
|
Angus is quite right.
All of that being said, the optimized builds linked to earlier aren't really optimized for Altivec. But they _are_ optimized for the processor.
Usually, you compile a program so that it runs on the most number of processors possible. This way, I can create a single binary that runs on G3s, G4s, and G5s. While this creates very compatible code that is easily distributable, each machine could probably run that same program faster if it were compiled specifially for it. Each processor is different. For example, given a processor-level operation, one processor might take 3 clock cycles to finish it while another might take 2. Also, some processors have special operations designed specifically for it that other processors just don't know how to handle.
By compiling code specifically for a given processor, you can get a program that takes advantages of these differences, and thus, should run faster. However, trying to run one of these optimized builds on the wrong processor just won't work. The program will crash repeatedly.
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status:
Offline
|
|
Originally posted by Turias:
All of that being said, the optimized builds linked to earlier aren't really optimized for Altivec. But they _are_ optimized for the processor.
Hey, I was never disputing that
I feel compelled to point to http://www.funroll-loops.org/ as an example of what happens when you have an OS distribution based on the concept of "IF I COMPILE SOMETHING FOR MY PROCESSOR IT WILL BE FASTER! W000T!"
I have to say I'd be surprised if these "optimised" builds had as big an impact on performance as people are claiming they do.
Oh, and for those that care, I had a look at the Firefox source and there's no code that uses AltiVec's C API, or the convenience APIs layered atop it (vDSP, vImage, etc).
|
|
|
| |
|
|
|
 |
 |
|
 |
|
|
|
|
|

|
|
 |
Forum Rules
|
 |
 |
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
 |
 |
 |
 |
|
 |
|