Enable Cross Origin Scripting on Nginx from retina.js to load files from another URL?Cross Origin Resource...
"My colleague's body is amazing"
What happens when a metallic dragon and a chromatic dragon mate?
Finding files for which a command fails
Why is the design of haulage companies so “special”?
How would photo IDs work for shapeshifters?
Is "plugging out" electronic devices an American expression?
extract characters between two commas?
Symmetry in quantum mechanics
Is ipsum/ipsa/ipse a third person pronoun, or can it serve other functions?
Copycat chess is back
Is domain driven design an anti-SQL pattern?
How can I add custom success page
Why airport relocation isn't done gradually?
COUNT(*) or MAX(id) - which is faster?
What are the advantages and disadvantages of running one shots compared to campaigns?
How did the USSR manage to innovate in an environment characterized by government censorship and high bureaucracy?
Is there a way to make member function NOT callable from constructor?
Could Giant Ground Sloths have been a good pack animal for the ancient Mayans?
A poker game description that does not feel gimmicky
Is there a familial term for apples and pears?
I see my dog run
How to deal with fear of taking dependencies
Denied boarding due to overcrowding, Sparpreis ticket. What are my rights?
Is this food a bread or a loaf?
Enable Cross Origin Scripting on Nginx from retina.js to load files from another URL?
Cross Origin Resource Sharing (CORS) with nginx / chromeAllowing cross origin requests (CORS) on Nginx for 404 responsesEnable nginx browser catching for specific urlnginx CORS on proxy pass: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resourceNginx allow cross origin requests in specific folderaccess subdirectory's files from root URL in nginxNginx proxy path return origin urlEnable Nginx authentication for a specific URLUnable to load PHP files from second server directoryEnable cross origin for subdomain
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
Im running a retina image plugin along with W3 Cache for CDN support. W3 cache moves images to S3, but the JS file won't server the files from there due to the difference in URL (it goes from h ttp://mysite.com to h ttp://assets.mysite.com)
I found a post which says to enable this just add this to your .htaccess
# ----------------------------------------------------------------------
# CORS-enabled images (@crossorigin)
# ----------------------------------------------------------------------
# Send CORS headers if browsers request them; enabled by default for images.
# developer.mozilla.org/en/CORS_Enabled_Image
# blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
# hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
# wiki.mozilla.org/Security/Reviews/crossoriginAttribute
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
# mod_headers, y u no match by Content-Type?!
<FilesMatch ".(gif|png|jpe?g|svg|svgz|ico|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
and then the JS will be able to load the images from S3 - but I have no idea how to do this on Nginx. Could someone give me an easy example?
Original post this was form is - http://wordpress.org/support/topic/doesnt-work-with-cdn-w3-total-cache?replies=4
nginx .htaccess wordpress amazon-s3
bumped to the homepage by Community♦ 3 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
Im running a retina image plugin along with W3 Cache for CDN support. W3 cache moves images to S3, but the JS file won't server the files from there due to the difference in URL (it goes from h ttp://mysite.com to h ttp://assets.mysite.com)
I found a post which says to enable this just add this to your .htaccess
# ----------------------------------------------------------------------
# CORS-enabled images (@crossorigin)
# ----------------------------------------------------------------------
# Send CORS headers if browsers request them; enabled by default for images.
# developer.mozilla.org/en/CORS_Enabled_Image
# blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
# hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
# wiki.mozilla.org/Security/Reviews/crossoriginAttribute
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
# mod_headers, y u no match by Content-Type?!
<FilesMatch ".(gif|png|jpe?g|svg|svgz|ico|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
and then the JS will be able to load the images from S3 - but I have no idea how to do this on Nginx. Could someone give me an easy example?
Original post this was form is - http://wordpress.org/support/topic/doesnt-work-with-cdn-w3-total-cache?replies=4
nginx .htaccess wordpress amazon-s3
bumped to the homepage by Community♦ 3 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
Im running a retina image plugin along with W3 Cache for CDN support. W3 cache moves images to S3, but the JS file won't server the files from there due to the difference in URL (it goes from h ttp://mysite.com to h ttp://assets.mysite.com)
I found a post which says to enable this just add this to your .htaccess
# ----------------------------------------------------------------------
# CORS-enabled images (@crossorigin)
# ----------------------------------------------------------------------
# Send CORS headers if browsers request them; enabled by default for images.
# developer.mozilla.org/en/CORS_Enabled_Image
# blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
# hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
# wiki.mozilla.org/Security/Reviews/crossoriginAttribute
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
# mod_headers, y u no match by Content-Type?!
<FilesMatch ".(gif|png|jpe?g|svg|svgz|ico|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
and then the JS will be able to load the images from S3 - but I have no idea how to do this on Nginx. Could someone give me an easy example?
Original post this was form is - http://wordpress.org/support/topic/doesnt-work-with-cdn-w3-total-cache?replies=4
nginx .htaccess wordpress amazon-s3
Im running a retina image plugin along with W3 Cache for CDN support. W3 cache moves images to S3, but the JS file won't server the files from there due to the difference in URL (it goes from h ttp://mysite.com to h ttp://assets.mysite.com)
I found a post which says to enable this just add this to your .htaccess
# ----------------------------------------------------------------------
# CORS-enabled images (@crossorigin)
# ----------------------------------------------------------------------
# Send CORS headers if browsers request them; enabled by default for images.
# developer.mozilla.org/en/CORS_Enabled_Image
# blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
# hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
# wiki.mozilla.org/Security/Reviews/crossoriginAttribute
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
# mod_headers, y u no match by Content-Type?!
<FilesMatch ".(gif|png|jpe?g|svg|svgz|ico|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
and then the JS will be able to load the images from S3 - but I have no idea how to do this on Nginx. Could someone give me an easy example?
Original post this was form is - http://wordpress.org/support/topic/doesnt-work-with-cdn-w3-total-cache?replies=4
nginx .htaccess wordpress amazon-s3
nginx .htaccess wordpress amazon-s3
asked Jun 15 '13 at 23:09
Danny ShepherdDanny Shepherd
3211
3211
bumped to the homepage by Community♦ 3 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
bumped to the homepage by Community♦ 3 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Check out this gist. You will want to tweak it a bit for your domain and cache preferences.
Thanks Alex, this seems to be what I want and I've implemented it in the nginx.conf but its not allowing my js to call the files from the CDN still. Any ideas what might be going wrong - my server has a few .conf files, I will try another one to rule that out too...
– Danny Shepherd
Jun 16 '13 at 12:44
add a comment |
You'll need to enable CORS rules at your S3 bucket, http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors
simple rule that must work for you is:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
Do i? Why in the above thread was enabling it in the .htaccess file of the server with the .JS file on the answer? Do I need to do both? Surely its the .js file on my server that needs to access the sub-domain name, as its that which is failing to bring the correct links.
– Danny Shepherd
Jun 17 '13 at 11:43
Yep, JS files are server from your nginx server and images served from S3. Browser checks AllowOrigin header from images and not for JS, so you'll need to change S3 settins. IF images would be served by nginx only, add_header 'Access-Control-Allow-Origin' '*'; would be enough.
– Andrei Mikhaltsov
Jun 17 '13 at 11:56
Got you, ok cool, I put it on both and cross fingers.
– Danny Shepherd
Jun 17 '13 at 12:59
Its not that, my buckets already have the CORS config as default on them… It must be that my nginx config just isn't working like the .htaccess file is in the thread above - I also have issues trying to get nginx .conf files to do anything as my server is also setup with app back and and reverse proxy front end .confs too.
– Danny Shepherd
Jun 17 '13 at 13:03
Well, try adding add_header 'Access-Control-Allow-Origin' '*'; to nginx, will it help? (this line have almost the same effect as yours .htaccess)
– Andrei Mikhaltsov
Jun 17 '13 at 14:47
|
show 1 more comment
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "2"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f516102%2fenable-cross-origin-scripting-on-nginx-from-retina-js-to-load-files-from-another%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Check out this gist. You will want to tweak it a bit for your domain and cache preferences.
Thanks Alex, this seems to be what I want and I've implemented it in the nginx.conf but its not allowing my js to call the files from the CDN still. Any ideas what might be going wrong - my server has a few .conf files, I will try another one to rule that out too...
– Danny Shepherd
Jun 16 '13 at 12:44
add a comment |
Check out this gist. You will want to tweak it a bit for your domain and cache preferences.
Thanks Alex, this seems to be what I want and I've implemented it in the nginx.conf but its not allowing my js to call the files from the CDN still. Any ideas what might be going wrong - my server has a few .conf files, I will try another one to rule that out too...
– Danny Shepherd
Jun 16 '13 at 12:44
add a comment |
Check out this gist. You will want to tweak it a bit for your domain and cache preferences.
Check out this gist. You will want to tweak it a bit for your domain and cache preferences.
answered Jun 16 '13 at 5:02
alexphilippalexphilipp
61338
61338
Thanks Alex, this seems to be what I want and I've implemented it in the nginx.conf but its not allowing my js to call the files from the CDN still. Any ideas what might be going wrong - my server has a few .conf files, I will try another one to rule that out too...
– Danny Shepherd
Jun 16 '13 at 12:44
add a comment |
Thanks Alex, this seems to be what I want and I've implemented it in the nginx.conf but its not allowing my js to call the files from the CDN still. Any ideas what might be going wrong - my server has a few .conf files, I will try another one to rule that out too...
– Danny Shepherd
Jun 16 '13 at 12:44
Thanks Alex, this seems to be what I want and I've implemented it in the nginx.conf but its not allowing my js to call the files from the CDN still. Any ideas what might be going wrong - my server has a few .conf files, I will try another one to rule that out too...
– Danny Shepherd
Jun 16 '13 at 12:44
Thanks Alex, this seems to be what I want and I've implemented it in the nginx.conf but its not allowing my js to call the files from the CDN still. Any ideas what might be going wrong - my server has a few .conf files, I will try another one to rule that out too...
– Danny Shepherd
Jun 16 '13 at 12:44
add a comment |
You'll need to enable CORS rules at your S3 bucket, http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors
simple rule that must work for you is:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
Do i? Why in the above thread was enabling it in the .htaccess file of the server with the .JS file on the answer? Do I need to do both? Surely its the .js file on my server that needs to access the sub-domain name, as its that which is failing to bring the correct links.
– Danny Shepherd
Jun 17 '13 at 11:43
Yep, JS files are server from your nginx server and images served from S3. Browser checks AllowOrigin header from images and not for JS, so you'll need to change S3 settins. IF images would be served by nginx only, add_header 'Access-Control-Allow-Origin' '*'; would be enough.
– Andrei Mikhaltsov
Jun 17 '13 at 11:56
Got you, ok cool, I put it on both and cross fingers.
– Danny Shepherd
Jun 17 '13 at 12:59
Its not that, my buckets already have the CORS config as default on them… It must be that my nginx config just isn't working like the .htaccess file is in the thread above - I also have issues trying to get nginx .conf files to do anything as my server is also setup with app back and and reverse proxy front end .confs too.
– Danny Shepherd
Jun 17 '13 at 13:03
Well, try adding add_header 'Access-Control-Allow-Origin' '*'; to nginx, will it help? (this line have almost the same effect as yours .htaccess)
– Andrei Mikhaltsov
Jun 17 '13 at 14:47
|
show 1 more comment
You'll need to enable CORS rules at your S3 bucket, http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors
simple rule that must work for you is:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
Do i? Why in the above thread was enabling it in the .htaccess file of the server with the .JS file on the answer? Do I need to do both? Surely its the .js file on my server that needs to access the sub-domain name, as its that which is failing to bring the correct links.
– Danny Shepherd
Jun 17 '13 at 11:43
Yep, JS files are server from your nginx server and images served from S3. Browser checks AllowOrigin header from images and not for JS, so you'll need to change S3 settins. IF images would be served by nginx only, add_header 'Access-Control-Allow-Origin' '*'; would be enough.
– Andrei Mikhaltsov
Jun 17 '13 at 11:56
Got you, ok cool, I put it on both and cross fingers.
– Danny Shepherd
Jun 17 '13 at 12:59
Its not that, my buckets already have the CORS config as default on them… It must be that my nginx config just isn't working like the .htaccess file is in the thread above - I also have issues trying to get nginx .conf files to do anything as my server is also setup with app back and and reverse proxy front end .confs too.
– Danny Shepherd
Jun 17 '13 at 13:03
Well, try adding add_header 'Access-Control-Allow-Origin' '*'; to nginx, will it help? (this line have almost the same effect as yours .htaccess)
– Andrei Mikhaltsov
Jun 17 '13 at 14:47
|
show 1 more comment
You'll need to enable CORS rules at your S3 bucket, http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors
simple rule that must work for you is:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
You'll need to enable CORS rules at your S3 bucket, http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors
simple rule that must work for you is:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
answered Jun 17 '13 at 8:37
Andrei MikhaltsovAndrei Mikhaltsov
2,32411629
2,32411629
Do i? Why in the above thread was enabling it in the .htaccess file of the server with the .JS file on the answer? Do I need to do both? Surely its the .js file on my server that needs to access the sub-domain name, as its that which is failing to bring the correct links.
– Danny Shepherd
Jun 17 '13 at 11:43
Yep, JS files are server from your nginx server and images served from S3. Browser checks AllowOrigin header from images and not for JS, so you'll need to change S3 settins. IF images would be served by nginx only, add_header 'Access-Control-Allow-Origin' '*'; would be enough.
– Andrei Mikhaltsov
Jun 17 '13 at 11:56
Got you, ok cool, I put it on both and cross fingers.
– Danny Shepherd
Jun 17 '13 at 12:59
Its not that, my buckets already have the CORS config as default on them… It must be that my nginx config just isn't working like the .htaccess file is in the thread above - I also have issues trying to get nginx .conf files to do anything as my server is also setup with app back and and reverse proxy front end .confs too.
– Danny Shepherd
Jun 17 '13 at 13:03
Well, try adding add_header 'Access-Control-Allow-Origin' '*'; to nginx, will it help? (this line have almost the same effect as yours .htaccess)
– Andrei Mikhaltsov
Jun 17 '13 at 14:47
|
show 1 more comment
Do i? Why in the above thread was enabling it in the .htaccess file of the server with the .JS file on the answer? Do I need to do both? Surely its the .js file on my server that needs to access the sub-domain name, as its that which is failing to bring the correct links.
– Danny Shepherd
Jun 17 '13 at 11:43
Yep, JS files are server from your nginx server and images served from S3. Browser checks AllowOrigin header from images and not for JS, so you'll need to change S3 settins. IF images would be served by nginx only, add_header 'Access-Control-Allow-Origin' '*'; would be enough.
– Andrei Mikhaltsov
Jun 17 '13 at 11:56
Got you, ok cool, I put it on both and cross fingers.
– Danny Shepherd
Jun 17 '13 at 12:59
Its not that, my buckets already have the CORS config as default on them… It must be that my nginx config just isn't working like the .htaccess file is in the thread above - I also have issues trying to get nginx .conf files to do anything as my server is also setup with app back and and reverse proxy front end .confs too.
– Danny Shepherd
Jun 17 '13 at 13:03
Well, try adding add_header 'Access-Control-Allow-Origin' '*'; to nginx, will it help? (this line have almost the same effect as yours .htaccess)
– Andrei Mikhaltsov
Jun 17 '13 at 14:47
Do i? Why in the above thread was enabling it in the .htaccess file of the server with the .JS file on the answer? Do I need to do both? Surely its the .js file on my server that needs to access the sub-domain name, as its that which is failing to bring the correct links.
– Danny Shepherd
Jun 17 '13 at 11:43
Do i? Why in the above thread was enabling it in the .htaccess file of the server with the .JS file on the answer? Do I need to do both? Surely its the .js file on my server that needs to access the sub-domain name, as its that which is failing to bring the correct links.
– Danny Shepherd
Jun 17 '13 at 11:43
Yep, JS files are server from your nginx server and images served from S3. Browser checks AllowOrigin header from images and not for JS, so you'll need to change S3 settins. IF images would be served by nginx only, add_header 'Access-Control-Allow-Origin' '*'; would be enough.
– Andrei Mikhaltsov
Jun 17 '13 at 11:56
Yep, JS files are server from your nginx server and images served from S3. Browser checks AllowOrigin header from images and not for JS, so you'll need to change S3 settins. IF images would be served by nginx only, add_header 'Access-Control-Allow-Origin' '*'; would be enough.
– Andrei Mikhaltsov
Jun 17 '13 at 11:56
Got you, ok cool, I put it on both and cross fingers.
– Danny Shepherd
Jun 17 '13 at 12:59
Got you, ok cool, I put it on both and cross fingers.
– Danny Shepherd
Jun 17 '13 at 12:59
Its not that, my buckets already have the CORS config as default on them… It must be that my nginx config just isn't working like the .htaccess file is in the thread above - I also have issues trying to get nginx .conf files to do anything as my server is also setup with app back and and reverse proxy front end .confs too.
– Danny Shepherd
Jun 17 '13 at 13:03
Its not that, my buckets already have the CORS config as default on them… It must be that my nginx config just isn't working like the .htaccess file is in the thread above - I also have issues trying to get nginx .conf files to do anything as my server is also setup with app back and and reverse proxy front end .confs too.
– Danny Shepherd
Jun 17 '13 at 13:03
Well, try adding add_header 'Access-Control-Allow-Origin' '*'; to nginx, will it help? (this line have almost the same effect as yours .htaccess)
– Andrei Mikhaltsov
Jun 17 '13 at 14:47
Well, try adding add_header 'Access-Control-Allow-Origin' '*'; to nginx, will it help? (this line have almost the same effect as yours .htaccess)
– Andrei Mikhaltsov
Jun 17 '13 at 14:47
|
show 1 more comment
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f516102%2fenable-cross-origin-scripting-on-nginx-from-retina-js-to-load-files-from-another%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown