Lazy Load External Content
You can lazy load external content into a page. The content will be loaded when the page is
displayed and the page will be reloaded every time you visit the page. Just use sourceOnShow:
'someURL'
.
PS! This page is loaded from lazy_load_external_content.html
<div data-bind="page: { id: 'lazy_load_external_content', sourceOnShow: 'lazy_load_external_content.html .content'}"> ... </div>


Fried rice is a staple of Asian cuisine. This is one of thsoe dishes whose amazing smell betrays the minimal effort required of it. There are plenty of variations so it's a good dish to experiment wish, and pretty much anything goes. Here's what I use, but feel free to mix and match with whatever you like and whatever you have in your fridge.
What You Need
- 100g meat - bacon, ham, small sausages, etc. work well
- 1 Tbsp cooking oil
- 1 Tbsp Sesame Seeds
What To Do
- Whack those cucumbers with a rolling pin, pesel, or something equally hard. Don't smash them into pulp, just enough to crack.
- Rip the cucumbers open along the cracks and break them into little bite-sized pieces.

- Put it in your mouth.


{% load staticfiles %}
My amazing library
Home
search posts
NEW POST
DETAILS
AUTHORS
NEW search
CONTACT
list by date
bloglist
list
SEARCHFORM
contact2
sear
contact3
Contact Us
Latest News
New Website Launched
January 1st, 2014
Read more
Useful Links
contact2
search name
SEARCHFORM
contact3
More Useful Links
list by date
bloglist
about
list
{% block extrahead %}{% endblock %}
{% block title %}{% endblock %}
{% block content %}{% endblock %}
{% block sidebar %}{% endblock %}


News
Current updates
I am honored to be given an opportunity to give an invited talk at APSIPA Workshop on Signal and Information Processing in Indonesia 2023, Institut Teknologi Bandung, Indonesia.
We presented our work at the The 25th HCI International Conference, HCII 2023, Copenhagen, Denmark.
I participated in the The 25th HCI International Conference, HCII 2023, Copenhagen, Denmark.
Our application for the JAIST Grant for fundamental research FY2023 (令和５年度研究拠点形成支援事業（萌芽的研究）) was accepted.
Our application for the Kakenhi Grant-in-Aid for Challenging Research (Exploratory) FY2023 (R5挑戦的研究（萌芽)) was accepted.
Our paper A Ranking Model for Evaluation of Conversation Partners Based on Rapport Levels has been accepted for publication in IEEE Access.
We had a kick-off meeting of the ICT Virtual Organization of ASEAN Institutes and NICT (ASEAN-IVO) with project titled "Spoof Detection for Automatic Speaker Verification". This meeting was held as a hybrid meeting at Bangkok, Thailand.
Our paper Auditory Model Optimization with Wavegram-CNN and Acoustic Parameter Models for Nonintrusive Speech Intelligibility Prediction in Hearing Aids has been accepted for presentation at The 31st European Signal Processing Conference (EUSIPCO 2023).
I am honored to be given an opportunity to share knowledge about AI for speech processing in AI Talks ITB #10: "Threats and Opportunities of Voice-Interactive Applications".
The new fiscal year (FY2023) has been started! May we always full of hope in our hearts so that we can enjoy and utilize our precious time this year to the fullest!
We celebrated the graduation of five master students (Tomoya Ohba, Ryusei Kimura, Ryota Matsukuma, Ko Murase, and Kazuki Kuba) and two Ph.D. students (Li XiSia and Hidetoshi Kawaguchi) from Okada laboratory. Tomoya Ohba also obtained the student outstanding performance award. Many congratulations!
We had a collaborative meeting between JAIST-RIEC in Tohoku University, Sendai, Japan.
Five master students from our laboratory finished their final defense. お疲れ様でした!
Dr. Hidetoshi Kawaguchi from our laboratory has finished his Ph.D defense with topic "Research on collaborative machine learning with a human expert for supporting network operations". Congratulations!
Dr. Sixia Li from our laboratory has finished his Ph.D defense with topic "Zero-shot slot filling based on multi-aspect intrinsic representations from multiple aspects". Congratulations!
Our paper Inter-person Intra-modality Attention Based Model for Dyadic Interaction Engagement Prediction has been accepted for presentation at HCI International 2023.
Our paper Investigating the Effect of Linguistic Features on Personality and Job Performance Predictions has been accepted for presentation at HCI International 2023.
Our paper Personality Trait Estimation in Group Discussions using Multimodal Analysis and Speaker Embedding has been accepted for publication in Journal on Multimodal User Interfaces.
We are glad to welcome four faculty members and ten students from UI and ITB (Indonesia) to JAIST (5-25 January 2023). They participate in the JST Sakura Science Program. I am especially thankful for being able to meet my former advisors (Dr. Dessi Puji Lestari and Dr. Ayu Purwarianti) on our campus.
One student from Okada laboratory (Shun Katada) has completed his Ph.D course and obtained the Outstanding Performance Award from School of Information Science. Many congratulations!
We presented our work at the The 18th Australasian International Conference on Speech Science and Technology (SST 2022), Canberra, Australia.
We presented our work at the The 21st International Conference on Mobile and Ubiquitous Multimedia (MUM 2022), Lisbon, Portugal.
We had a collaborative meeting between JAIST-SIIT-NECTEC in Bangkok, Thailand.
We presented our work at the Asia Pacific Signal and Information Processing Association Annual Summit and Conference 2022 (APSIPA ASC 2022), Chiang Mai, Thailand.
Our paper Multimodal Analysis for Communication Skill and Self-Efficacy Level Estimation in Job Interview Scenario has been accepted for presentation at the The 21st International Conference on Mobile and Ubiquitous Multimedia (MUM 2022).
We presented our work at the 2nd Symposium on Security and Privacy in Speech Communication joined with 2nd VoicePrivacy Challenge Workshop.
Two master students from Okada laboratory (Gao Yuan and Keita Ando) have completed their master course. Many congratulations!
Our paper F0 Modification via PV-TSM Algorithm for Speaker Anonymization Across Gender has been accepted for presentation at the Asia Pacific Signal and Information Processing Association Annual Summit and Conference 2022 (APSIPA ASC 2022).
Our paper Speech Intelligibility Prediction for Hearing Aids Using an Auditory Model and Acoustic Parameters has been accepted for presentation at the Asia Pacific Signal and Information Processing Association Annual Summit and Conference 2022 (APSIPA ASC 2022).
Our paper OBISHI: Objective Binaural Intelligibility Score for the Hearing Impaired has been accepted for presentation at the The 18th Australasian International Conference on Speech Science and Technology.
I receive the Kakenhi Research Activity Start-up 2022 (R4科研費(研究活動スタート支援)) FY2022.
An article about my life in JAIST has been posted at JAIST International Student News (2022).
I receive the Research grant for fundamental research (萌芽的研究支援), JAIST FY2022.
Our paper Speaker Anonymization by Pitch Shifting Based on Time-Scale Modification has been accepted for presentation at the Security and Privacy in Speech Communication (SPSC) Symposium 2022.
We presented our work at the 2nd Clarity Workshop on Machine Learning Challenges for Hearing Aids.
New website was published.
I have started an assistant professor position at Social Signal Interaction Group, JAIST.


An engineering and physics in the 1870s and gained practical experience in the early 1880s working in telephony and at Continental Edison in the new electric power industry. He emigrated to the United States in 1884, where he would become a naturalized citizen. He worked for a short time at the Edison Machine Works in New York City before he struck out on his own.
Year |
Name of the Invention |
|---|---|
| 1889 | Tesla Coil |
| 1887 | Induction Motor |
| 1800 | X-Rays |
| 1886 | Alternated Current |
| 1898 | Remote Control |


| Parameter | Value | Description |
| wh---CSS_VAR_NAME |
String. A valid CSS property value.
No
default.
|
This kind of parameter may be used to override any of
the default values of the CSS variables specified in any of the
NNtheme.css template files (all found in
ditac_install_dir/whc_template/_wh/). For
example, the main
NNtheme.css template
file:body { ... --navigation-width: 33%; ... } The
wh---navigation-width CSS variable is used as
follows in NNcommon.css , another CSS template
file:#wh-navigation { ... width: var(--navigation-width); ... } Therefore parameter
wh---navigation-width may be
used to give the navigation side of the generated Web Help a
different initial width. Example:
-p wh---navigation-width "25%" .More examples
in "XMLmind Web Help Compiler Manual, Getting
started".
|
| wh-collapse-toc |
Allowed values are: 'yes' and
'no'.
Default value: 'no'.
|
Specifies whether the TOC should be initially
collapsed.
|
| wh-index-numbers |
Allowed values are: 'yes' and
'no'.
Default value: 'no'.
|
Specifies whether words looking like numbers are to be
indexed.
Examples of such number-like words: 3.14,
3,14, 3times4equals12, +1, -1.0,
3px, 1,2cm, 100%, 1.0E+6,
1,000.00$.
|
| wh-inherit-font-and-colors |
Allowed values are: 'yes' and
'no'.
Default value: 'yes'.
|
When wh-inherit-font-and-colors is set to
'no', the navigation pane of the generated Web Help uses
fonts and colors of its own, which will generally differ from those
used for the content of the Web Help.
Setting
wh-inherit-font-and-colors to 'yes' lets you use
for the navigation pane the same fonts and colors as those used for
the content of the Web Help.
So basically this parameter is a
shorthand for:
-p wh---navigation-font-family inherit¬ -p wh---navigation-font-size inherit¬ -p wh---navigation-color inherit¬ -p wh---navigation-background-color inherit See above wh---CSS_VAR_NAME
parameters.
|
| wh-jquery |
Relative or absolute URI. A relative URI is relative to
the URI of a page of the Web Help.
Default value: absolute URI
of the corresponding file found on the Google CDN.
|
Specifies the location of the JavaScript file containing
jQuery . Example:
https://code.jquery.com/¬ jquery-3.4.1.slim.min.js Specifying an "https:" URL is
recommended when the generated Web Help is stored on an HTTPS
server.
|
| wh-local-jquery |
Allowed values are: 'yes' and
'no'.
Default value: 'no'.
|
Specifies whether all jQuery files should be copied to
_wh/jquery/ , where _wh/ is
the directory containing the other Web Help files.By default,
the jQuery files are accessed from the Web (typically from a
CDN).
Note that this parameter is applied after jQuery
has been possibly customized using parameter wh-jquery. For
example,
"
-p wh-jquery https://code.jquery.com/jquery-3.4.1.js "
copies a file downloaded from https://code.jquery.com/ to
_wh/jquery/. |
| wh-layout |
The name of a layout.
Default value:
classic.
|
Selects a layout for the generated Web Help.
For
now, only two layouts are supported: classic and
simple.
|
| wh-responsive-ui |
Allowed values are: 'yes' and
'no'.
Default value: 'yes'.
|
Specifies whether the generated Web Help should be
“responsive”, that is, whether it should adapt its layout to the
size of the screen.
|
| wh-ui-language |
Default
value: 'browser'.
|
Specifies which language should be used for the messages
(tab labels, button tool tips, etc) of the generated Web
Help.
Default value "browser" means that this
language is the one used by the Web browser for its own messages.
This language may often be specified in the user preferences of the
Web browser.
Value "document" means that the language
of the document should be used.
A language code such as
en, en-US, es, es-AR, etc, may
be used to explicitly specify which language should be
used.
|
| wh-use-stemming |
Allowed values are: 'yes' and
'no'.
Default value: 'yes'.
|
Specifies whether stemming(1) should be used
to implement the search facility. By default, stemming is used
whenever possible, that is,
The main language of the document is specified by the
@xml:lang attribute found on the root element of
DITA map being converted; otherwise using the -lang command-line
option; otherwise, it is assumed to be
"en". |
| wh-user-css |
Filename or absolute URI of a CSS file. A relative
filename is relative to the current working directory.
|
Specifies the user's CSS stylesheet which is to be added
to each page of the Web Help.
This file is copied to
output_directory/_wh/user/.
Sample
user's CSS wh_resources/header_footer.css as used in
the following example:
-p wh-user-header¬ wh_resources/header.html -p wh-user-footer¬ wh_resources/footer.html -p wh-user-css¬ wh_resources/header_footer.css -p wh-user-resources¬ wh_resources/header_footer_files |
| wh-user-footer |
Filename or absolute URI of an XHTML file. A relative
filename is relative to the current working directory.
|
Specifies the user's footer which is to be added to each
page of the Web Help.
The content of the
 element of wh-user-footer is
inserted as is in the
 found in
each page of the Web Help.Same remark as for parameter
wh-user-header about the resources referenced by a user's
footer.
Sample user's footer wh_resources/footer.html as used in the
following example:
-p wh-user-header¬ wh_resources/header.html -p wh-user-footer¬ wh_resources/footer.html -p wh-user-css¬ wh_resources/header_footer.css -p wh-user-resources¬ wh_resources/header_footer_files More examples in "XMLmind Web Help Compiler Manual, Getting
started".
|
| wh-user-header |
Filename or absolute URI of an XHTML file. A relative
filename is relative to the current working directory.
|
Specifies the user's header which is to be added to each
page of the Web Help.
The content of the
 element of wh-user-header is
inserted as is in the
 found in
each page of the Web Help.If a user's header references
resources (e.g. image files), then these resources must either be
referenced using absolute URLs or these resources must be found in a
user's resource directory and parameter wh-user-resources
must be specified.
Example:
Sample user's header wh_resources/header.html as used in the
following example:
-p wh-user-header¬ wh_resources/header.html -p wh-user-footer¬ wh_resources/footer.html -p wh-user-css¬ wh_resources/header_footer.css -p wh-user-resources¬ wh_resources/header_footer_files More examples in "XMLmind Web Help Compiler Manual, Getting
started".
|
| wh-user-resources |
Filename or absolute "file:" URI of a
directory. URI schemes other than "file" (e.g.
"http") are not supported for this parameter. A relative
filename is relative to the current working directory.
|
Specifies a user's resource directory which is to be
recursively copied to
output_directory/_wh/user/.
This directory
typically contains image files referenced by the user's header,
footer or CSS stylesheet.
Sample user's resource directory
wh_resources/header_footer_files/ as used in
the following example:
-p wh-user-header¬ wh_resources/header.html -p wh-user-footer¬ wh_resources/footer.html -p wh-user-css¬ wh_resources/header_footer.css -p wh-user-resources¬ wh_resources/header_footer_files More examples in "XMLmind Web Help Compiler Manual, Getting
started".
|
| whc-index-basename |
URL basename.
Default value:
'whc_index.xml'.
|
Basename of the Index XML input file of XMLmind Web Help
Compiler.
In principle, there is no need for an end-user to
specify this parameter.
|
| whc-toc-basename |
URL basename.
Default value:
'whc_toc.xml'.
|
Basename of the TOC XML input file of XMLmind Web Help
Compiler.
In principle, there is no need for an end-user to
specify this parameter.
|
| (1) | In linguistic morphology and information retrieval, stemming is the process of reducing inflected (or sometimes derived) words to their word stem, base or root form—generally a written word form. |


<build>
...
<plugins>
...
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<version>{version}</version>
<dependencies>
<dependency>
<groupId>org.revapi</groupId>
<artifactId>revapi-java</artifactId>
<version>{version}</version>
</dependency>
...
</dependencies>
<executions>
<execution>
<id>check</id>
<goals><goal>check</goal></goals>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
Getting Started
Revapi can be used in 4 ways. Either as a standalone java program, using its maven plugin or ant task during build or as an embedded library.
Maven
|
Note
|
You can read more about the maven plugin in its dedicated section. |
|
Note
|
You can find the latest versions of the various Revapi components in the downloads section. |
Revapi’s main purpose is to track API changes between releases. This is ideally done during build and so the maven integration is essential.
The basic usage of the Revapi’s maven plugin is quite simple. In your pom.xml
, do:
By default, Revapi only bundles the basic features so in order to check your java code, you need to add the Revapi’s java extension as a dependency to the maven plugin.
For more detailed info, check the maven plugin’s site.
Standalone Usage
|
Note
|
More information about the Revapi’s CLI tool, can be obtained from its dedicated section. |
First you need to download the standalone distribution of Revapi, say revapi-standalone-{version}.zip
. Now you have to:
unzip revapi-standalone-{version}.zip cd revapi-standalone-{version}
Your installation is now ready. To start using it, you can simply invoke
./revapi.sh
(or if you’re unfortunate enough to be on windows)
revapi.bat
and you will be presented with the usual usage information.
An invocation of Revapi could look like this:
./revapi.sh --extensions=org.revapi:revapi-java:{version},org.revapi:revapi-reporting-text:{version} \ --old=my-lib-0.1.0.jar --new=my-lib-0.2.0.jar -D revapi.reporter.text.minSeverity=BREAKING
Different extensions might define different configuration options that you might supply to them using either the -D
command line parameter or they can be read from configuration file(s) specified by the -c
option.
Ant
|
Note
|
You can read more about the Revapi’s Ant task in its dedicated section. |
There is also an Ant task to invoke Revapi analysis on arbitrary archives. The task implicitly supports the basic features but other extensions need to be added.
The following attributes are supported:
|
The |
|
The |
|
The |
|
The |
|
A |
|
A JSON string with the Revapi configuration |
|
The minimal severity of differences that will be reported |
An example for checking Java code:
<target name="api-check">
<taskdef name="revapi" classname="org.revapi.ant.RevapiTask" classpath="lib/revapi-ant-task-{version}.jar"/>
<revapi>
<oldArchives file="mylib-1.0.jar"/>
<newArchives file="mylib-1.1.jar"/>
<revapiClassPath>
<pathelement location="lib/revapi-java-{version}-uber.jar"/>
</revapiClassPath>
</revapi>
</target>
Notice the use of the "uber" jar for the java extension. The uber jar of the java extension contains its dependencies (excluding the revapi API itself which is considered provided).
Embedding
Revapi revapi = Revapi.builder().withAllExtensionsFromThreadContextClassLoader().build();
AnalysisContext analysisContext = AnalysisContext.builder()
.withOldAPI(API.of(...))
.withNewAPI(API.of(...))
.withConfigurationFromJSON("json").build();
revapi.analyze(analysisContext);
For more details, see dedicated section.


create
wireframe
prototype
develop
launch
process
CRUX Building x Restoration
a
Marty Fitchen
design
hi!
i'm marty
graphic
designer
ux/ui
designer
front-end
developer
crux
building
x
restoration
rebrand
sketch
lo– & hi–
fidelity
wireframes
invision
prototype
personas
style guide
user flows
beta
to play...
then do
qa
thanks
m
f
<EMAIL_ADDRESS>/in/marty
f
itchen
/m
f
itchen
m
f
itchen.com


Deal Confirmed, First 2019 Ke Yona Product Turns Pro…
by Soccer LadumaA deal with a Premier Soccer League club has been confirmed as the first Nedbank Ke Yona Team product of 2019 turns professional.
It was reported by the Siya crew last month that AmaZulu had been sent Thulani Cele from the Ke Yona Team, after their match against the Nedbank Cup champions.
As part of the talent identification programme’s initiative, players are given opportunities at various Absa Premiership clubs each year.
Read: Big Decisions Await For Pirates, Next 3 Matches Crucial!
Cele was Ke Yona Team’s goalscorer in their 2-1 loss to champions TS Galaxy in the Nedbank Ke Yona Challenge match in September.
It has since been confirmed by Nedbank Sport that Cele has signed a professional contract with Usuthu.
Cele becomes the third signing for the Durban-based club under Slovakian coach Jozef Vukusic, following the recent additions of seasoned campaigners in the ex-Kaizer Chiefs duo of Mario Booysen and Tsepo Masilela.
Read: Latest On Pirates Defender’s Proposed Move?
Meanwhile, it has also been confirmed by the organisers that Nhlanhla Ntuli, who had been sent to Bloemfontein Celtic, has had his stay with the Mangaung club extended for further assessment.
SuperSport United star Aubrey Modiba and former Chiefs goalkeeper Luthando Sixhaso are some of the products of the talent search programme.
Earn Airtime & Data With Soccer Laduma’s Social Media App - Download Now


Page Title, h1 Markdown text template¶
Every Document Starts with #
, a title for this documentation
You only need to modify this Markdown file according with your necesities. If you change the Markdown file name, remember also to change the name in the index.rst file or where the “.. toctree::” is.
Subhead, h2¶
Use ##
for subsection
Subhead, h3¶
use ###
as further section division
Code example: Add the URL in urlpatterns
in app/urls.py
:
urlpatterns = [
url(r'^register/$', app_views.register, name='register'),
]
More instructions¶
Syntax highlighting can be used with triple backticks, like so:
#Fibonacci, tuple assignment
parents, babies = (1, 1)
while babies < 100:
print 'This generation has {0} babies'.format(babies)
parents, babies = (babies, parents + babies)
Here we continue with more code documentation examples.
A link to Jekyll Flash. A literal link http://github.com/parrondo/jekyll-flash/
An image, located within /images/markdown
- A bulletted list
- alternative syntax 1
- alternative syntax 2
- an indented list item
- An
- ordered
- list
Inline markup styles:
- italics
- bold
code()
Blockquote
Nested Blockquote


00-62-658-658
Contact us today!
USD
Dollar
Euro
French
English
French
Services
Support
My Account
Login
Compare
Wishlists
All Categories
Men
Women
compare
wishlist
Cart
2
2 Items in my cart
Donec Ac Tempus
61,19 €
Qty: 1
Donec Ac Tempus
61,19 €
Qty: 1
Total
122.38 €
Checkout
Categories
Electronics
Sports & Outdoors
Tennis
Tennis
Coats & Jackets
Blouses & Shirts
Tops & Tees
Hoodies & Sweatshirts
Intimates
Swimming
Dresses
Coats & Jackets
Blouses & Shirts
Tops & Tees
Hoodies & Sweatshirts
Intimates
Shoes
Dresses
Coats & Jackets
Blouses & Shirts
Tops & Tees
Hoodies & Sweatshirts
Intimates
Smartphone & Tablets
Health & Beauty Bags
Shoes & Accessories
Special products
Fashion hand bag
$38
$45
Fashion hand bag
$38
$45
Fashion hand bag
$38
$45
Fashion hand bag
$38
$45
Toys & Hobbies
Computers & Networking
Laptops & Accessories
Jewelry & Watches
Flashlights & Lamps
Cameras & Photo
Television
Computers & Networking
Toys & Hobbies
Jewelry & Watches
All Categories
MENU
Home
Home Style 1
Home Style 2
Home Style 3
Home Style 4
Home Style 5
Home Style 6
Home Style 7
Home Style 8
Fashion
MEN'S
Skirts
Jackets
Tops
Scarves
Pants
WOMEN'S
Skirts
Jackets
Tops
Scarves
Pants
Kids
Shoes
Clothing
Tops
Scarves
Accessories
TRENDING
Men's Clothing
Kid's Clothing
Women's Clothing
Accessories
Sports
Foods
Asian
Vietnamese Pho
Noodles
Seafood
Sausages
Meat Dishes
Desserts
Tops
Tops
European
Greek Potatoes
Famous Spaghetti
Famous Spaghetti
Chicken
Italian Pizza
French Cakes
Tops
Tops
FAST
Hamberger
Pizza
Noodles
Sandwich
Salad
Paste
Tops
Tops
Digital
Mobile
Tablets
Laptop
Memory Cards
Accessories
Furniture
Jewelry
Pages
Page
Category Left Sidebar
Category Right Sidebar
Product Left Sidebar
Product Full width
Product Right Sidebar
Page
Wishlist
Compare
Order
Checkout
Login
Page
Blog
Blog Post
About Us
Contact Us
LATEST DEALS
end in
Add to Cart
-30% OFF
Luxury Perfume
$38,95
$52,00
Add to Cart
Blue Diamond Ring
$38,95
Add to Cart
Superior Bag
$38,95
Add to Cart
Luxury Lady
$38,95
$52,00
Add to Cart
Smart Phone
$38,95
$52,00
Add to Cart
Red Dress
$38,95
fashion
Best salers
Specials
New Arrivals
Most Reviews
On Sales
Trending
Summer Dresses
Casual Dresses
Blouses
Skirts
Jumpsuits
T-Shirts
Jackets
Bikinis
Sunglasses
Scarves
Hair Accessories
Sexy Red Dress
$138,95
Add to Cart
Mesh Dress Taupe
$99,95
Add to Cart
Sexy Summer Dress
$89,99
Add to Cart
Comfor & Pretty Dress
$238,95
Add to Cart
Sexy Perfect Light
$399,95
Add to Cart
New Style & Fresh
$138,95
$152,00
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
SPORTS
Best salers
Specials
New Arrivals
Most Reviews
Tent
Hiking Shoes
Cycling Jerseys
Boxing
Fitness
Basketball Shoes
Carp Fishing
Bike Light
Sunglasses
Fishing Tackle Bags
Camping Stoves
Cycling Jerseys
Cycling Jerseys
Basketball Shoes
Shoes
Casual Shoes
Sports Shoes
Adidas Shoes
Gas Shoes
Puma Shoes
Reebok Shoes
Woodland Shoes
Red tape Shoes
Nike Shoes
Deals of The Day
Top Selling Product 1
$38.95
$52.00
-15%
Sound performance tuning includes the smallest details like...
Top Selling Product 2
$38.95
$52.00
-15%
Sound performance tuning includes the smallest details like...
Sexy Sport Shoes
$38,95
$52,00
Add to Cart
Tennis Blue Hat
$38,95
$52,00
Add to Cart
Blue T-Shirt
$38,95
Add to Cart
Tennis Racquet
$38,95
$52,00
Add to Cart
Fashion & Sport
$38,95
$52,00
Add to Cart
Versatile Package
$38,95
Add to Cart
Deals of The Day
Top selling earphone
$38.95
$52.00
-15%
Sound performance tuning includes the smallest details like...
Top selling earphone
$38.95
$52.00
-15%
Sound performance tuning includes the smallest details like...
Headphone & earphone
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
Add to Cart
ELECTRONICS
Best salers
Specials
New Arrivals
Most Reviews
On Sales
Trending
SOOCOO S60
Xiaomi Sports Camera
Monopod
MP3 Player
Speaker
Micro SD Card
Smart Watches
Smart Wristbands
TV
Projector
Gaming
Cookoo Cooker
$38,95
Add to Cart
Green Cooker
$38,95
Add to Cart
Modern Liquidizer
$38,95
Add to Cart
Serial Nice Cookers
$38,95
Add to Cart
Tilor Washing Machine
$38,95
Add to Cart
Nano Washing Machine
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
DIGITAL
Best salers
Specials
New Arrivals
Most Reviews
Tablet selfie
Laptop Batteries
OTG flash drives
Mouse
Keyboard
SSD
Tenda router
3D printer
Laser Pens
Printer Supplies
Gaming
Cute Speaker
$38,95
Add to Cart
Bphone
$38,95
Add to Cart
Sonic Camera
$38,95
Add to Cart
Blue Nano Projector
$38,95
Add to Cart
Smartphone Battery
$38,95
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
SamSing Gallaxy S5
$38,95
$52,00
Add to Cart
Ipado Air 2
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
furniture
Best salers
Specials
New Arrivals
Most Reviews
Cross Stitch
Diamond Painting
Cake Tools
Cooking Tools
Curtain
Bedding
Wall Décor
Decorative Flowers
Home Storage
Pest Control
Pet Products
Interesting Chair
$38,95
Add to Cart
Relaxed Chair
$38,95
Add to Cart
Innovative Red Chair
$38,95
Add to Cart
White Stack Chair
$38,95
Add to Cart
Kute Innovative Chair
$38,95
Add to Cart
Pretty Green & Inox
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
jewelry
Best salers
Specials
New Arrivals
Most Reviews
Multi-Layer Necklaces
925 Silver
Pearl Jewelry
Friendship Bracelets
Brinco
Body Chains
Carp Fishing
DIY Beads
Digital Watches
Dress Watches
Men's Watches
Sexy Green Swan
$38,95
$52,00
Add to Cart
Golden & Creative Ring
$38,95
$52,00
Add to Cart
Diamond Ring
$38,95
Add to Cart
Ruby & Golden Ring
$38,95
$52,00
Add to Cart
Natural Pearl Necklace
$38,95
$52,00
Add to Cart
Diamond Couple
$38,95
Add to Cart
Sexy Earrings
$38,95
Add to Cart
Precious Stones
$38,95
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
$52,00
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
Headphone & earphone
$38,95
Add to Cart
From the blog
Share the love with KuteShop
February 27, 2015
27 comment
Readmore
Share the love with KuteShop
February 27, 2015
27 comment
Readmore
Big sales this summer
February 27, 2015
27 comment
Readmore
How to shop with us
February 27, 2015
27 comment
Readmore
Great Value
We offer competitive prices on our 100 million plus product range.
Worldwide Delivery
With sites in 5 languages, we ship to over 200 countries & regions.
Safe Payment
Pay with the world’s most popular and secure payment methods.
Shop with Confidence
Our Buyer Protection covers your purchase from click to delivery.
24/7 Help Center
Round-the-clock assistance for a smooth shopping experience.
Shop On-The-Go
Download the app and get the world of KuteShop at your fingertips.
Scroll


Everyone gets three votes for where they want to eat.
Then, hit the "Results" button to get links to search for the best rated restaurants in your area!


Test Tutorial
Getting started
Welcome!...
Fundamentals
Do some stuff...
A few advanced tricks
And then you...
Things to remember
Finally...
Tutorial From Textarea = ___ Getting sta''ted - Welcome!... ___ Fundamentals - Do some stuff... You may want to know: ___ A few advanced tricks - And then you... ___ Things to remember - Finally... ::


View Photos of Jack Roush Edition Ford Mustang
by Car and DriverThe acclaimed Ford tuner outdoes even the Shelby GT500 in power, thanks to Roush's in-house-designed supercharger.
The acclaimed Ford tuner outdoes even the Shelby GT500 in power, thanks to Roush's in-house-designed supercharger.


Sustainability and Corporate Governance
By fostering the climate of teamwork that is essential for improving one’s competitive strength, corporate governance encourages active cooperation among all stakeholders and thus helps progress towards their planned objectives.
Scrupulously mindful of corporate governance principles both during and subsequent to the conduct of any operation, Ziraat Bank strives to meet the expectations of all of its stakeholders and to achieve a sustainable performance in line with that approach.
In all matters pertaining to corporate governance, Ziraat Bank focuses on the four fundamental principles of fairness, transparency, accountability, and responsibility. The bank provides for performance-enhancing mechanisms by engaging its stakeholders in its decision-making processes.
Ziraat Bank recognizes that in the context of corporate governance, its own financial success and profitability, the health and safety of its employees, and the interests of its other stakeholders are all intimately and mutually interconnected.
The Ziraat Bank Board of Directors consists of nine members. This number is deemed to be sufficient for the bank to effectively organize and conduct its business activities. The duties of board chairman and CEO are performed by different individuals. The chairman of the Ziraat Bank Board of Directors has no executive duties.
Ziraat Bank Board of Directors
Member |
Duty |
Muharrem Karslı |
Chairman |
Yusuf Dağcan |
Deputy Chairman and Member |
Hüseyin Aydın |
CEO and Member |
Fahrettin Özdemirci |
Member |
Feyzi Çutur |
Member |
Metin Özdemir |
Member |
Mustafa Çetin |
Member |
Cemalettin Başlı |
Member |
Salim Alkan |
Member |
For more detailed information about Ziraat Bank’s Board of Directors, please refer to pages 62-65 of the 2014 annual report.3
The Ziraat Bank CEO is fully authorized and responsible for the conduct, administration, and coordination of the bank’s day-to-day business in the broadest sense. There are ten assistant general managers, each one of whom is responsible for a designated aspect of the bank’s business. Ziraat Bank’s senior management consists of its CEO and its assistant general managers.
For more detailed information about Ziraat Bank’s senior management, please refer to pages 66-69 of the 2014 annual report.4
3) http://www.ziraatbank.com.tr/en/InvestorRelations/Documents/AnnualReports/AnnualReport2014.pdf
4) http://www.ziraatbank.com.tr/en/InvestorRelations/Documents/AnnualReports/AnnualReport2014.pdf
Because Ziraat Bank is a state-owned bank, it has no real-person ultimate controlling stockholders. Ziraat Bank’s sole shareholder is the Undersecretariat of the Treasury of the Republic of Turkey.
The highest governing body at Ziraat Bank is the Ziraat Bank Board of Directors. The selection of that board’s members and of other committees at the Bank is subject to the provisions of the third section of the bank’s charter. For more detailed information please refer to http://www.ziraatbank.com.tr/en/InvestorRelations/CorporateGovernance/Pages/ArticlesofAssociation.aspx
Some of the professional managers who are members of the Ziraat Bank Board of Directors and also of the bank’s senior management serve as members of the boards of directors of the Ziraat Bank subsidiaries that make up the Ziraat Finance Group.5
Principles pertaining to the involvement of Ziraat Bank Board of Directors members in duties outside the bank are subject to the provisions of the Banking Act, the Turkish Commercial Code, and other relevant laws, regulations, and administrative provisions.
These committees, whose formation is mandated by the Turkish Commercial Code, the Banking Act, and other applicable regulations, consist of the following:
The Ziraat Bank Board of Directors is authorized to set up other committees as it deems to be necessary.
For more detailed information about Ziraat Bank committees and their membership, please refer to page 73 of the 2014 annual report.6
5) For details about the Ziraat Finance Group please click here.
6) http://www.ziraatbank.com.tr/en/InvestorRelations/Documents/AnnualReports/AnnualReport2014.pdf
Internal audit, internal control, and risk management activities at Ziraat Bank are performed by the Board of Auditors, the Internal Control and Compliance Department, and the Risk Management Department. These units’ duties and responsibilities, which are segregated from one another, are coordinated by the Assistant General Manager Office for Internal Systems.
This organization is structured so as to embrace all Bank units and branches as well as Bank-owned subsidiaries subject to the Bank’s oversight. Its purpose is to minimize any risks that might adversely affect the thoroughgoing and secure conduct of banking operations, the fulfillment of long-term profit targets, the reliability of financial and administrative reporting, and/or the Bank’s reputation and financial stability.
Internal audit system
The Board of Auditors takes a risk-focused approach in the fulfillment of its responsibilities to ensure that the activities and operations of the Bank’s headquarters units, domestic and international branches, and subsidiaries are compliant with the requirements of laws and regulations and are compatible with the Bank’s own strategies, policies, principles, and objectives. The board conducts its activities in such a way as both to keep the Bank’s senior management informed and to contribute to their decision-making processes.
The Board of Auditors has 184 bank inspectors on its staff. The board conducts its activities in line with internationally-accepted internal auditing standards. Besides checking the Bank’s operations for their compliance with statutorily mandated procedures, in 2014 the board also reviewed and assessed the effectiveness and efficiency of the transaction procedures involved in both primary and secondary processes. In addition, processes governed by Banking Regulation and Supervision Agency (BRSA) regulations pertaining to information systems and banking processes were also audited by information technology inspectors in line with the Bank’s own practices.
Activities taking place within the Board of Auditors in 2014 are summarized below.
Inspectors are given the opportunity to constantly improve their professional knowledge and experience by conducting inspections at different Bank units from time to time. They also continued to be provided with training on personal and professional issues at regular intervals during 2014.
The practice of recruiting qualified human resources for the Bank’s administrative staff by allowing inspectors to transfer to such positions continues. Fifty-four new assistant inspectors were also recruited and hired by the Bank in 2014.
Along with the inauguration of the Operations Center and following the Board of Auditors’ assessment of systematic changes arising from revisions in the Bank’s organizational structure, from new modules added to lending decision-making processes, and from centralized credit allocation structures, a new auditing model incorporating all business processes was put into use. The results of inspections are now being made available for all Bank units to use.
Under a newly-introduced Findings Follow-Up Mechanism, issues that are identified during inspections are no longer just reported; attention is now also being given to the need to eliminate or correct, within a designated period of time, whatever shortcomings and errors are at issue.
In keeping with its strong sense of responsibility and awareness of its duties, the Board of Auditors will continue to execute the internal auditing plan in line with goals and policies set forth by the Bank’s senior management and within the framework of current auditing approaches, to report its findings to the Board of Directors through the Audit Committee, and to monitor measures that are taken on the basis of the findings.
Internal control and compliance system
Internal control activities are structured so as to embrace the operations of all headquarters units and of all domestic and international branches as required by “Regulation on Bank Internal System and Intrinsic Capital Adequacy Assessment Processes”. Such activities are constantly reviewed and revised in line with the Bank’s requirements.
While internal control activities are conducted so as to be compatible with the Bank’s primary objectives and strategies from the standpoint of their scope and methodology, a proactive approach has been adopted in order to more readily accommodate changes in strategies and conditions arising from altered risk perceptions and from the changeover to a new service model. To this end, the Bank formulated and put into effect its New Control Model. The goal of this more proactive structure is to help ensure that Bank’s operations exceed sectoral norms and that they are conducted in a manner that is compatible with both internal and external regulations as well as with the demands of competition.
Domestic branch checks are performed both on location and centrally within the framework of a program that is prepared taking into account branches’ current levels of risk exposure.
Internal control operations at all branches located outside Turkey are carried out in line with control programs that are prepared for each year.
Headquarters unit control cycles are determined taking into account their functions, potential risks, terms of reference, and impact on the Bank’s balance sheet. These cycles are revised as needs may require.
The findings ascertained as a result of all of these activities are compiled under specific headings in reports that are circulated among appropriate units and the members of senior management.
In the case of issues which are identified during internal control activities and which are deemed to be in need of more detailed attention, a preliminary examination is performed by internal control personnel on location. This practice continued in 2014 as well. Based on the reports of such preliminary examinations, appropriate action was taken by the Bank in a timely manner. Instances of suspected misconduct were reported to the Board of Auditors so that a full examination/investigation could be conducted as circumstances warranted.
In addition to such matters, compliance reviews were also carried out by internal control personnel as required by article 18 of “Regulation on Bank Internal System and Intrinsic Capital Adequacy Assessment Processes”. In the course of such reviews, all operations conducted or planned by the Bank as well as new transactions and products are checked to be sure that they comply with laws and regulations, with the Bank’s own policies and rules, and with commonly accepted banking practices. During these compliance reviews, existing bank-internal rules and proposed changes in them are also examined and views concerning them are circulated among appropriate units.
Besides their conduct of internal control functions, internal control personnel also continued to prepare and issue reports containing suggestions of ways to improve existing processes at the Bank and to mitigate the risks inherent in them. The objective of this practice is to preclude risks by spotting them in advance, to make the Bank more competitive by improving its business processes, and to increase customer satisfaction while also taking measures to cut costs.
The practice of recruiting qualified human resources for the Bank’s administrative staff by allowing internal control personnel to transfer to such positions continued.
Risk management system
Ziraat Bank’s approach to risk management is rooted in fostering a risk culture throughout the entire Bank that is compatible with the requirements of Regulation on Bank Internal System and Intrinsic Capital Adequacy Assessment Processes and in keeping its risk management functions at the “best practices” level by constantly improving both its systems and its human resources.
Care is given to ensure that all risk management system activities are coordinated through the involved participation of the operational branches with which each type of risk is associated. The principal risk categories are defined as “Credit Risk”, “Market Risk”, “Operational Risk”, and “Balance Sheet Risks”. The last category includes the interest rate risks and liquidity risks to which the Bank is exposed on account of its banking operations. A fundamental goal of all risk management is to abide by internationally recognized best practices.
Under the heading of credit risk management, Basel III-compatible methods are used to define, measure, monitor, and report credit risk. The Bank has been calculating its core credit risk exposure and reporting it monthly on the basis of its solo and consolidated accounts to BRSA ever since this practice was mandated by law as of 1 July 2012.
Under the heading of measuring creditworthiness using advanced quantification methods, work is currently being carried out at the Bank based on the results generated by applying scoring models to different loan portfolios. Statistical methods are employed to confirm both the validity of these rating models and to quantify the effectiveness of their performance. Credit risk limits approved by the Board of Directors are also monitored while scenario analyses and stress tests are carried out based on non-performing loan ratios.
Under the heading of operational risk management, the operational risks to which the Bank is exposed are defined, classified, measured, and analyzed. The results of such analyses are supported by means of stress tests. Such operational risk limits as may be approved by the Board of Directors are also monitored at regular intervals. The operational risk loss database in the Finart environment allows incidents of operational risk to be tracked. Information technology risks and associated actions are followed up. Risk exposure assessments are conducted for companies providing outsourced support services as required by current BRSA regulations.
Under the heading of market risk and balance sheet risk management, market, liquidity, and interest rate risks arising from banking accounts are measured, analyzed, delimited, reported, and monitored. Analyses are also supported by means of stress tests. Such market risk and liquidity risk limits as may be approved by the Board of Directors are also monitored at regular intervals. A “Liquidity Coverage Ratio” is now being calculated as per BRSA regulations published in line with Basel III criteria. This ratio is also reported to BRSA every week on a solo and every month on a consolidated basis. In the case of market risk, backtest analyses are performed for the bank-internal models that are used.
To determine the amount of shareholders’ equity that is associated with losses that the Bank may sustain due to its risk exposure, a capital adequacy assessment is conducted using the economic capital approach. The results of this assessment are reported to senior management.
The results of the risk management analyses and the associated risk indicators are reported to the Board of Directors and the Audit Committee at six-month intervals and to executive units and internal system units on a daily, weekly, and monthly basis.
Ziraat Bank will continue to make use of internationally-recognized advanced risk management techniques in order to carry out its risk management activities for all risk categories and to make such risk management an integral part of its strategic decision-making processes in the future as well.
Ziraat Bank’s efforts to prevent money-laundering and terrorism-financing are conducted in accordance with a policy concerning such issues that is publicly disclosed on the Bank’s corporate website. Ziraat Bank is committed to preventing any of its products or services from being used either to legalize the proceeds of criminal activities or to finance terrorism by ensuring that all of its managers and other employees comply with this policy fully and without exception.
The Ziraat Bank Audit Committee is charged with all duties, authorities, and responsibilities pertaining to the conduct of the compliance program governed by “Regulations Concerning Compliance Programs for Obligations Pertaining to the Prevention of Money-Laundering and Terrorism-Financing” and also set out in all laws, regulations, and administrative provisions applicable to such issues.
Ziraat Bank conducts its activities in line with the principle of “Know Your Customer”. Besides requiring its customers and anyone acting on behalf of a customer to prove their identity, the Bank also ensures that all statutorily-mandated records are maintained in full.
Training
Ziraat Bank personnel are provided its systematic training on issues related to the prevention of money-laundering and terrorism-financing.
Such training is prepared and carried out with the involvement of appropriate units under the supervision and coordination of a designated compliance officer.
While all personnel at Ziraat Bank are provided with training on issues related to the prevention of money-laundering and terrorism-financing, priority is given especially to the training of employees who come into direct contact with customers. Training on such matters is also provided to newly-hired employees as part of their orientation program.
During 2014, 97.97% of all Ziraat Bank employees took part in this training. For more detailed information on this subject, please click here.
Many of the policies adopted and put into effect by the Ziraat Bank Board of Directors are as much concerned with sustainability management as they are with the effective operation of its corporate governance structure.
Sustainability Policy
For Sustainability Policy of Ziraat Bank, please click here.
Disclosure Policy
http://www.ziraatbank.com.tr/en/InvestorRelations/CorporateGovernance/Pages/DisclosurePolicy.aspx
Prevention of Money-Laundering and Terrorism-Financing Policy
http://www.ziraatbank.com.tr/en/InvestorRelations/CorporateGovernance/Pages/AMLPolicy.aspx
The following issues are integral elements of the Ziraat Bank Human Resources Policy, which is accessible to all personnel on the Bank’s intranet:
Environment-related issues at Ziraat Bank are dealt with in the context of Sustainability Policy.
Under a project that is scheduled to begin in 2016, Ziraat Bank will begin developing and implementing a corporate social responsibility policy that will apply to its investment-financing loans. This project will be focusing on strengthening the oversight of environmental and social risk management processes and on developing tools for the management of bank-financed investments’ environmental and social risks. Another aspect of the project consists of involving all concerned units in the formulation of a Ziraat Bank Environmental & Social Risk Management Procedure.
Ziraat Bank has adopted a code of ethics that was prepared and published by Banks Association of Turkey in accordance with the requirements of article 75 of the Banking Act (Statute 5411). In line with this, Ziraat Bank regards the following as core tenets:
In keeping with the Ziraat Bank Code of Ethics and in order to safeguard the rights and interests of accountholders, to maintain financial market confidence and stability, to ensure the effective operation of deposit, credit, and payment systems, and to prevent transactions and practices that might lead to serious economic losses and also to be mindful of social wellbeing and environmental protection, Ziraat Bank gives consideration to the following:
The Ziraat Bank Financial Institutions & Investor Relations Unit is charged with managing shareholder relations and with maintaining statutorily-prescribed transparency in its dealings with shareholders in the event of a public offering of its shares. This unit is ready to play an active role in the protection and convenient exercise of shareholder rights such as the right to obtain information and the right to perform examinations. Thus although the Bank has not yet undertaken a public offering, it is already behaving as if it has done.
Ziraat Bank’s corporate website, which is located at www.ziraatbank.com.tr, plays an important role in the Bank’s public disclosure processes by providing access to up-to-date information about the bank. Although Ziraat Bank is not a publicly-traded company, it nevertheless already complies with corporate governance principles to a substantial degree. The extensive offerings of information and documents on the Ziraat Bank corporate website, which are published in both the Turkish and the English languages, range from the Bank’s trade registry information to its current partnership and management structure, from its articles of association to its material event disclosures, and from its financial statements to its annual reports.
From the “Sustainability” tab on the website, visitors have access both to Ziraat Bank’s Sustainability Policy and to the sustainability reports that the Bank has published.


Ping-Pong
Enter your number in the form, numbers 3, 5 and 15 will be replaced with the words Ping, Pong, and Ping Pong
Select your favorite mode by pressing the mode buttons
Attention : Step mode doesn't work well with the other 2 modes, refresh the page before using it


In this chapter we’ll get into more details about mouse events and their properties.
Please note: such events may come not only from “mouse devices”, but are also from other devices, such as phones and tablets, where they are emulated for compatibility.
We’ve already seen some of these events:
mousedown/mouseup
mouseover/mouseout
mousemove
click
mousedown
and then mouseup
over the same element if the left mouse button was used.
dblclick
contextmenu
…There are several other events too, we’ll cover them later.
As you can see from the list above, a user action may trigger multiple events.
For instance, a left-button click first triggers mousedown
, when the button is pressed, then mouseup
and click
when it’s released.
In cases when a single action initiates multiple events, their order is fixed. That is, the handlers are called in the order mousedown
-> mouseup
-> click
.
Click the button below and you'll see the events. Try double-click too.
On the teststand below all mouse events are logged, and if there is more than a 1 second delay between them they are separated by a horizontal ruler.
Also we can see the `button` property that allows to detect the mouse button, it's explained below.
<input onmousedown="return logMouse(event)" onmouseup="return logMouse(event)" onclick="return logMouse(event)" oncontextmenu="return logMouse(event)" ondblclick="return logMouse(event)" value="Click me with the right or the left mouse button" type="button"> <input onclick="logClear('test')" value="Clear" type="button"> <form id="testform" name="testform"> <textarea style="font-size:12px;height:150px;width:360px;"></textarea></form>
Click-related events always have the button
property, which allows to get the exact mouse button.
We usually don’t use it for click
and contextmenu
events, because the former happens only on left-click, and the latter – only on right-click.
From the other hand, mousedown
and mouseup
handlers may need event.button
, because these events trigger on any button, so button
allows to distinguish between “right-mousedown” and “left-mousedown”.
The possible values of event.button
are:
| Button state | event.button |
|---|---|
| Left button (primary) | 0 |
| Middle button (auxiliary) | 1 |
| Right button (secondary) | 2 |
| X1 button (back) | 3 |
| X2 button (forward) | 4 |
Most mouse devices only have the left and right buttons, so possible values are 0
or 2
. Touch devices also generate similar events when one taps on them.
Also there’s event.buttons
property that has all currently pressed buttons as an integer, one bit per button. In practice this property is very rarely used, you can find details at MDN if you ever need it.
``warn header="The outdated
event.which" Old code may use
event.which` property that’s an old non-standard way of getting a button, with possible values:
event.which == 1
– left button,event.which == 2
– middle button,event.which == 3
– right button.As of now, event.which
is deprecated, we shouldn’t use it. ```
All mouse events include the information about pressed modifier keys.
Event properties:
shiftKey
: key:Shift
altKey
: key:Alt
(or key:Opt
for Mac)ctrlKey
: key:Ctrl
metaKey
: key:Cmd
for MacThey are true
if the corresponding key was pressed during the event.
For instance, the button below only works on key:Alt+Shift
+click:
```html autorun height=60
```
``warn header="Attention: on Mac it's usually
Cmdinstead of
Ctrl" On Windows and Linux there are modifier keys
key:Alt,
key:Shiftand
key:Ctrl. On Mac there's one more:
key:Cmd, corresponding to the property
metaKey`.
In most applications, when Windows/Linux uses key:Ctrl
, on Mac key:Cmd
is used.
That is: where a Windows user presses key:Ctrl+Enter
or key:Ctrl+A
, a Mac user would press key:Cmd+Enter
or key:Cmd+A
, and so on.
So if we want to support combinations like key:Ctrl
+click, then for Mac it makes sense to use key:Cmd
+click. That’s more comfortable for Mac users.
Even if we’d like to force Mac users to key:Ctrl
+click – that’s kind of difficult. The problem is: a left-click with key:Ctrl
is interpreted as a right-click on MacOS, and it generates the contextmenu
event, not click
like Windows/Linux.
So if we want users of all operating systems to feel comfortable, then together with ctrlKey
we should check metaKey
.
For JS-code it means that we should check if (event.ctrlKey || event.metaKey)
. ```
```warn header=“There are also mobile devices” Keyboard combinations are good as an addition to the workflow. So that if the visitor uses a keyboard – they work.
But if their device doesn’t have it – then there should be a way to live without modifier keys. ```
All mouse events provide coordinates in two flavours:
clientX
and clientY
.pageX
and pageY
.We already covered the difference between them in the chapter info:coordinates.
In short, document-relative coordinates pageX/Y
are counted from the left-upper corner of the document, and do not change when the page is scrolled, while clientX/Y
are counted from the current window left-upper corner. When the page is scrolled, they change.
For instance, if we have a window of the size 500x500, and the mouse is in the left-upper corner, then clientX
and clientY
are 0
, no matter how the page is scrolled.
And if the mouse is in the center, then clientX
and clientY
are 250
, no matter what place in the document it is. They are similar to position:fixed
in that aspect.
Move the mouse over the input field to see `clientX/clientY` (the example is in the `iframe`, so coordinates are relative to that `iframe`):
```html autorun height=50
<input onmousemove="this.value=event.clientX+':'+event.clientY" value="Mouse over me">
```
Double mouse click has a side-effect that may be disturbing in some interfaces: it selects text.
For instance, double-clicking on the text below selects it in addition to our handler:
html autorun height=50 Double-click me
If one presses the left mouse button and, without releasing it, moves the mouse, that also makes the selection, often unwanted.
There are multiple ways to prevent the selection, that you can read in the chapter info:selection-range.
In this particular case the most reasonable way is to prevent the browser action on mousedown
. It prevents both these selections:
html autorun height=50 Before...  Double-click me  ...After
Now the bold element is not selected on double clicks, and pressing the left button on it won’t start the selection.
Please note: the text inside it is still selectable. However, the selection should start not on the text itself, but before or after it. Usually that’s fine for users.
```smart header="Preventing copying" If we want to disable selection to protect our page content from copy-pasting, then we can use another event:
oncopy`.
html autorun height=80 no-beautify <div *!*oncopy="alert('Copying forbidden!');return false"*/!*> Dear user, The copying is forbidden for you. If you know JS or HTML, then you can get everything from the page source though. </div>
If you try to copy a piece of text in the <div>
, that won’t work, because the default action oncopy
is prevented.
Surely the user has access to HTML-source of the page, and can take the content from there, but not everyone knows how to do it. ````
Mouse events have the following properties:
button
.true
if pressed): altKey
, ctrlKey
, shiftKey
and metaKey
(Mac).
key:Ctrl
, then don’t forget Mac users, they usually use key:Cmd
, so it’s better to check if (e.metaKey || e.ctrlKey)
.clientX/clientY
.pageX/pageY
.The default browser action of mousedown
is text selection, if it’s not good for the interface, then it should be prevented.
In the next chapter we’ll see more details about events that follow pointer movement and how to track element changes under it.


Senior Citizen Home
"Welcome to Senior Citizen Services Home"
Home
Services
View Meals
Order Meals
View Medicines
Order Medicines
Feedback
About
Welcome!
Profile
Home
|
Contact us
|
F.A.Q.
|
Privacy Policy


Station 44030 - Buoy B01 - Western Maine Shelf
Disclaimer: Ocean current directions are measured to the nearest 10 degrees and speeds are measured to the nearest whole centimeter per second. Ocean Current Data for 44030
Previous (up to 48) reports of ocean current data for 44030 Ocean Current Stick Plots are available in metric units only: All Instruments - 1-day plot 3-day plot 5-day plot Links which are specific to this station are listed below: Real Time Data in tabular form for the last forty-five days. Historical Data & Climatic Summaries for quality controlled data for the current month, previous months, and previous years. |


|
2014 Results |
|
| Date | Event |
| Jan 1 | Handgun Steel Challenge Match Results |
| Jan 25 |
IDPA Only
Match Results COFs |
| Feb 22 | Man-On-Man Handgun Match Results |
| Mar 15 | 3-Gun Match Results |
| Mar 22 |
IDPA Only
Match w/Classifier Results COFs |
| Apr 26 | Handgun/ICORE Match Results |
| May 17 | |
| May 24 | |
|
June 21 |
|
| June 28 |
UDPL Cedar Valley State MultiGun Match Results COFs |
| July 19 | |
|
July 26 |
|
| Aug 23 | |
| Sep 13 | |
| Sep 20 | |
| Sep 27 | |
|
Oct 25 |
Handgun Match Results |
| Nov 22 | Handgun/ICORE Match Results |
|
Dec 13 |
|
2013 Results |
|
| Date | Event |
| Jan 1 | |
| Jan 26 | |
| Feb 2 |
Annual UDPL Membership Mtg. |
| Feb 23 | |
| Mar 16 | |
| Mar 23 | |
| Apr 27 |
Handgun/ICORE
Results - By Division |
| May 18 | 3-Gun Match Results |
| May 25 | |
| June 15 |
Handgun
Night Match Results |
| June 22 | |
| July 20 | |
| July 27 |
IDPA Only
Match COFs |
| Aug 24 | Handgun "Super Shoot" Results |
| Sep 14 | |
| Sep 21 | 3-Gun Match Results |
| Sep 28 |
Utah State IDPA Match Results Match COF Booklet |
| Oct 26 | |
| Nov 23 | Handgun/ICORE Match Results |
| Dec 14 |
Handgun Match Cancelled due to temporary range closure. |
|
2012 Results |
|
| Date | Event |
| Jan 21 |
IDPA Only
Match Results COFs |
| Feb 4 | |
| Feb 25 |
Handgun Match Results COFs |
| Mar 17 | |
| Mar 24 | |
| Apr 28 |
IDPA Only
Match Results Classifier Results COFs |
| May 12 | |
| May 19 | |
| June 16 |
Handgun
Night Match Results BUG Gun Results IDPA Classifier Results COFs |
| June 23 |
3-Gun Match - Note: This event was cancelled... |
| July 14 |
Man-On-Man Handgun Match
Results Points Clarification Event Format |
| July 28 |
IDPA Only
Match COFs |
| Aug 25 |
Pat Zaccardi Memorial Handgun
"Super Shoot" Results Shoot Information Flier |
| Sep 8 |
Idaho State IDPA Match |
| Sep 15 | |
| Sep 22 |
Handgun Match Results COFs |
| Oct 27 |
IDPA Only
Match Classifier Results |
| Nov 17 | |
| Dec 15 |
|
2011 Results |
|
| Date | Event |
| Jan 1 | New Year's Day 3-Gun Match Results COFs Link |
| Jan 22 |
IDPA Match Results
Includes "Postal Match" Stages |
| Feb 5 |
Annual UDPL Membership Mtg. |
| Feb 26 | |
| Mar 19 | |
| Mar 26 | |
| Apr 30 | |
| May 21 |
Rifle/Carbine
Results COFs Link |
| May 28 |
IDPA
Match COFs Link |
| June 18 | |
| June 25 | |
| July 23 |
Handgun
Night Match Results BUG Match Results IDPA Classifier Results COFs |
| Aug 27 |
Handgun"Super Shoot" Results" Video of the Match courtesy of Steve Koski: Video Link |
| Sep 10 | |
| Sep 17 | 3-Gun Match Results |
| Sep 24 |
IDPA
Match Results COFs |
| Oct 22 | Handgun/ICORE Results |
| Nov 26 |
IDPA
Match Results COFs Classifier Results |
| Dec 17 | |
| Dec 31 | 3-Gun Match Results |
|
2010 Results |
|
| Date | Event |
| Jan 1 | |
| Jan 23 | |
| Feb 6 | |
| Feb 27 | |
| Mar 20 | |
| Mar 27 | Handgun/ICORE Results |
| Apr 24 |
Handgun/IDPA
Match Results
COFs Classifier Results |
| May 22 | |
| June 19 | |
| June 26 | |
| July 17 |
.22LR Only Match
Results Tactical Biathlon Side Match Info/Results |
| Aug 28 | |
| Sep 11 | |
| Sep 18 | |
| Sep 25 | |
| Oct 23 |
Handgun/ICORE - Match was Cancelled |
| Nov 27 |
Handgun/IDPA
Match Results COFs Link Classifier Results |
| Dec 18 | Handgun Match COFs Link |
|
2009 Results |
|
| Date |
Event |
| Jan 1 | |
| Jan 24 | |
| Feb 7 | |
| Feb 28 | |
| Mar 21 | |
| Mar 28 | |
| Apr 25 |
Handgun/IDPA Match Results (Classifier) |
| May 23 | Rifle/Carbine Results |
| June 20 | |
| June 27 | |
| July 25 | |
| Aug 22 | Handgun "Super Shoot" Results |
| Sep 19 | |
| Sep 19 | 3-Gun Match Results |
| Sep 26 | Handgun/IDPA Match Results COFs |
| Oct 24 | Handgun Modified Steel Challenge Results |
| Nov 28 | Handgun/IDPA Match Results COFs |
| Dec 26 | Handgun Match Results COFs |
|
2008 Results |
|
| Date |
Event |
| Jan 1 | |
| Jan 26 | |
| Feb 9 | |
| Feb 23 | |
| Mar 22 | |
| Apr 19 | Handgun/IDPA Classifier Match Results |
| Apr 26 | |
| May 24 |
Rifle/Carbine Match Classifier Side Match Results |
| Jun 21 | |
| Jun 28 | |
| Jul 26 | |
| Aug 23 | |
| Sep 20 | |
| Sep 20 | |
| Sep 27 | Handgun/IDPA Match |
| Oct 25 | Handgun/ICORE |
| Nov 22 | Handgun/IDPA Match |
| Dec 27 | Handgun Steel Challenge Match |
|
2007 Results |
|
| Date |
Event |
| Jan 1 | |
| Jan 27 | Handgun Match |
| Feb 3 | |
| Feb 24 | |
| Mar 17 | |
| Mar 24 | |
| Apr 28 |
Handgun/IDPA
Match
(Classifier) Precision Rifle Side Match |
| May 26 | |
| Jun 16 | |
| Jun 23 | Handgun/IDPA Match |
| Jul 28 | |
| Aug 25 | Handgun/IDPA Match |
| Sep 8 |
Idaho State
IDPA Match - Parma Rod & Gun Club Results and Photo/Video |
| Sep 15 | 3-Gun Match |
| Sep 22 | |
| Oct 27 | |
| Nov 24 | |
| Dec 22 |
|
2006 Results |
|
| Date | Event |
| Jan 28 | Handgun Match Results |
| Feb 4 | |
| Feb 25 | |
| Mar 18 | |
| Mar 25 | |
| Apr 22 | Handgun/IDPA Match Results (Classifier) |
| May 27 | |
| Jun 17 | |
| Jun 24 | Handgun Match Results |
| July 22 | |
| Aug 26 | |
| Sep 9 |
Idaho State IDPA Match
Results |
| Sep 16 | |
| Sep 23 | |
| Oct 28 | |
| Nov 25 | Handgun Match Results |
| Dec 23 | Handgun Match Results |
|
2005 Results |
|
| Date |
Event |
| Jan 1 | |
| Jan 22 | Handgun Steel Shoot Match Results |
| Feb 5 | Annual UDPL Membership Mtg. |
| Feb 26 |
Handgun Steel Shoot
Match Results |
| Mar 19 | |
| Mar 26 | |
| Apr 23 | |
| May 28 | Rifle/Carbine Match w/IDPA Side Match |
| Jun 18 | |
| Jun 25 | Handgun Steel Shoot Match Precision Rifle Side Match |
| July 9 | UDPL Family Picnic |
| July 23 | |
| Aug 20 | |
| Aug 27 | |
| Sep 10 | |
| Sep 24 | |
| Oct 15 |
3-Gun
Match w/Team Side Match Results |
| Oct 22 | IDPA Match Results |
| Nov 26 | |
| Dec 17 | |
| Dec 31 |
|
2004 Results | |
|---|---|
| Date |
Event |
| Jan 1 | 3-Gun Match |
| Jan 17 | Annual UDPL Membership Mtg. |
| Jan 24 | |
| Feb 28 | |
| Mar 20 | |
| Mar 27 | |
| Apr 24 | |
| May 15 | |
| May 22 | Handgun Match |
| June 19 | |
| July 17 | UDPL Family Picnic |
| July 24 | |
| Aug 21 | 3-Gun Match |
| Aug 28 | |
| Sep 25 | Utah State IDPA Match |
| Oct 23 | |
|
Nov 20 | |
| Nov 27 | |
| Dec 18 |
Handgun/Handgun-Shotgun
Steel Shoot |
[ HOME | SCHEDULE/RESULTS | CONTACT UDPL ]


{% extends "base.html" %} {% load bootstrap4 %} {% block body_block %} {% csrf_token %} 10 tasks completed today 3 tasks in progress 2 tasks in waiting list 8 total working hours 87.5% success rate today 10% improvement from yesterday {% csrf_token %} Task number two in progress {% csrf_token %} Started 25 mins ago Task number one completed {% csrf_token %} Completed after 35 mins {% endblock body_block %}


{% if messages %}
{% for message in messages %}
{% endfor %}
{% endif %}
{% block body %}Content Goes Here{% endblock body %}
Work in progress!!!
You can test it with user1 - user6 with password: testuser if you dont want to create account... Features to be added:
- Number of Users: {{ total_users }}
- Number of Groups: {{ total_groups }}
- Number of Posts: {{ total_posts }}
- Number of Comments: total_comments


--- layout: archive title: Zulip Chat Archive permalink: /stream/224796-Geographic-locality/topic/Grenoble.20France.html ---
Hello, i'm on the photo :innocent: grenonbl.jpg
Last updated: Apr 24 2020 at 19:02 UTC


|
My Project
|
Manager for all the major decompiler subsystems. More...
#include <architecture.hh>
Public Member Functions | |
| Architecture (void) | |
| Construct an uninitialized Architecture. More... | |
| void | init (DocumentStorage &store) |
| Load the image and configure architecture. More... | |
| ProtoModel * | getModel (const string &nm) const |
| Get a specific PrototypeModel. More... | |
| bool | hasModel (const string &nm) const |
| Does this Architecture have a specific PrototypeModel. More... | |
| bool | highPtrPossible (const Address &loc, int4 size) const |
| Are pointers possible to the given location? More... | |
| AddrSpace * | getSpaceBySpacebase (const Address &loc, int4 size) const |
| Get space associated with a spacebase register. More... | |
| const LanedRegister * | getLanedRegister (const Address &loc, int4 size) const |
| Get LanedRegister associated with storage. More... | |
| int4 | getMinimumLanedRegisterSize (void) const |
| Get the minimum size of a laned register in bytes. More... | |
| void | setDefaultModel (const string &nm) |
| Set the default PrototypeModel. More... | |
| void | clearAnalysis (Funcdata *fd) |
| Clear analysis specific to a function. More... | |
| void | readLoaderSymbols (void) |
| Read any symbols from loader into database. More... | |
| void | collectBehaviors (vector< OpBehavior *> &behave) const |
| Provide a list of OpBehavior objects. More... | |
| SegmentOp * | getSegmentOp (AddrSpace *spc) const |
| Retrieve the segment op for the given space if any. More... | |
| void | setPrototype (const PrototypePieces &pieces) |
| Set the prototype for a particular function. More... | |
| void | setPrintLanguage (const string &nm) |
| Establish a particular output language. More... | |
| void | globalify (void) |
| Mark all spaces as global. More... | |
| void | restoreFlowOverride (const Element *el) |
| Set flow overrides from XML. More... | |
| virtual | ~Architecture (void) |
| Destructor. More... | |
| virtual string | getDescription (void) const |
| Get a string describing this architecture. | |
| virtual void | printMessage (const string &message) const =0 |
| Print an error message to console. More... | |
| virtual void | saveXml (ostream &s) const |
| Serialize this architecture to XML. More... | |
| virtual void | restoreXml (DocumentStorage &store) |
| Restore the Architecture state from an XML stream. More... | |
| virtual void | nameFunction (const Address &addr, string &name) const |
| Pick a default name for a function. More... | |
| Public Member Functions inherited from AddrSpaceManager | |
| AddrSpaceManager (void) | |
| Construct an empty address space manager. More... | |
| virtual | ~AddrSpaceManager (void) |
| Destroy the manager. More... | |
| int4 | getDefaultSize (void) const |
| Get size of addresses for the default space. More... | |
| AddrSpace * | getSpaceByName (const string &nm) const |
| Get address space by name. More... | |
| AddrSpace * | getSpaceByShortcut (char sc) const |
| Get address space from its shortcut. More... | |
| AddrSpace * | getIopSpace (void) const |
| Get the internal pcode op space. More... | |
| AddrSpace * | getFspecSpace (void) const |
| Get the internal callspec space. More... | |
| AddrSpace * | getJoinSpace (void) const |
| Get the joining space. More... | |
| AddrSpace * | getStackSpace (void) const |
| Get the stack space for this processor. More... | |
| AddrSpace * | getUniqueSpace (void) const |
| Get the temporary register space for this processor. More... | |
| AddrSpace * | getDefaultCodeSpace (void) const |
| Get the default address space of this processor. More... | |
| AddrSpace * | getDefaultDataSpace (void) const |
| Get the default address space where data is stored. More... | |
| AddrSpace * | getConstantSpace (void) const |
| Get the constant space. More... | |
| Address | getConstant (uintb val) const |
| Get a constant encoded as an Address. More... | |
| Address | createConstFromSpace (AddrSpace *spc) const |
| Create a constant address encoding an address space. More... | |
| Address | resolveConstant (AddrSpace *spc, uintb val, int4 sz, const Address &point, uintb &fullEncoding) const |
| Resolve a native constant into an Address. More... | |
| int4 | numSpaces (void) const |
| Get the number of address spaces for this processor. More... | |
| AddrSpace * | getSpace (int4 i) const |
| Get an address space via its index. More... | |
| AddrSpace * | getNextSpaceInOrder (AddrSpace *spc) const |
| Get the next contiguous address space. More... | |
| JoinRecord * | findAddJoin (const vector< VarnodeData > &pieces, uint4 logicalsize) |
| Get (or create) JoinRecord for pieces. More... | |
| JoinRecord * | findJoin (uintb offset) const |
| Find JoinRecord for offset in the join space. More... | |
| void | setDeadcodeDelay (AddrSpace *spc, int4 delaydelta) |
| Set the deadcodedelay for a specific space. More... | |
| void | truncateSpace (const TruncationTag &tag) |
| Mark a space as truncated from its original size. More... | |
| Address | constructFloatExtensionAddress (const Address &realaddr, int4 realsize, int4 logicalsize) |
| Build a logically lower precision storage location for a bigger floating point register. More... | |
| Address | constructJoinAddress (const Translate *translate, const Address &hiaddr, int4 hisz, const Address &loaddr, int4 losz) |
| Build a logical whole from register pairs. More... | |
| void | renormalizeJoinAddress (Address &addr, int4 size) |
| Make sure a possibly offset join address has a proper JoinRecord. More... | |
Public Attributes | |
| string | archid |
| ID string uniquely describing this architecture. | |
| int4 | trim_recurse_max |
| How many levels to let parameter trims recurse. | |
| int4 | max_implied_ref |
| Maximum number of references to an implied var. | |
| int4 | max_term_duplication |
| Max terms duplicated without a new variable. | |
| int4 | max_basetype_size |
| Maximum size of an "integer" type before creating an array type. | |
| int4 | min_funcsymbol_size |
| Minimum size of a function symbol. | |
| bool | aggressive_ext_trim |
| Aggressively trim inputs that look like they are sign extended. | |
| bool | readonlypropagate |
| true if readonly values should be treated as constants | |
| bool | infer_pointers |
| True if we should infer pointers from constants that are likely addresses. | |
| vector< AddrSpace * > | inferPtrSpaces |
| Set of address spaces in which a pointer constant is inferable. | |
| int4 | funcptr_align |
| How many bits of alignment a function ptr has. | |
| uint4 | flowoptions |
| options passed to flow following engine | |
| int4 | alias_block_level |
| Aliases blocked by 0=none, 1=struct, 2=array, 3=all. | |
| vector< Rule * > | extra_pool_rules |
| Extra rules that go in the main pool (cpu specific, experimental) | |
| Database * | symboltab |
| Memory map of global variables and functions. | |
| ContextDatabase * | context |
| Map from addresses to context settings. | |
| map< string, ProtoModel * > | protoModels |
| Parsed forms of possible prototypes. | |
| ProtoModel * | defaultfp |
| Parsed form of default prototype. | |
| VarnodeData | defaultReturnAddr |
| Default storage location of return address (for current function) | |
| ProtoModel * | evalfp_current |
| Function proto to use when evaluating current function. | |
| ProtoModel * | evalfp_called |
| Function proto to use when evaluating called functions. | |
| TypeFactory * | types |
| List of types for this binary. | |
| const Translate * | translate |
| Translation method for this binary. | |
| LoadImage * | loader |
| Method for loading portions of binary. | |
| PcodeInjectLibrary * | pcodeinjectlib |
| Pcode injection manager. | |
| RangeList | nohighptr |
| Ranges for which high-level pointers are not possible. | |
| CommentDatabase * | commentdb |
| Comments for this architecture. | |
| ConstantPool * | cpool |
| Deferred constant values. | |
| PrintLanguage * | |
| Current high-level language printer. | |
| vector< PrintLanguage * > | printlist |
| List of high-level language printers supported. | |
| OptionDatabase * | options |
| Options that can be configured. | |
| vector< TypeOp * > | inst |
| Registered p-code instructions. | |
| UserOpManage | userops |
| Specifically registered user-defined p-code ops. | |
| vector< PreferSplitRecord > | splitrecords |
| registers that we would prefer to see split for this processor | |
| vector< LanedRegister > | lanerecords |
| Vector registers that have preferred lane sizes. | |
| ActionDatabase | allacts |
| Actions that can be applied in this architecture. | |
| bool | loadersymbols_parsed |
| True if loader symbols have been read. | |
Protected Member Functions | |
| void | addSpacebase (AddrSpace *basespace, const string &nm, const VarnodeData &ptrdata, int4 truncSize, bool isreversejustified, bool stackGrowth) |
| Create a new space and associated pointer. More... | |
| void | addNoHighPtr (const Range &rng) |
| Add a new region where pointers do not exist. More... | |
| virtual Scope * | buildGlobalScope (void) |
| Build the global scope for this executable. More... | |
| virtual Translate * | buildTranslator (DocumentStorage &store)=0 |
| Build the Translator object. More... | |
| virtual void | buildLoader (DocumentStorage &store)=0 |
| Build the LoadImage object and load the executable image. More... | |
| virtual PcodeInjectLibrary * | buildPcodeInjectLibrary (void)=0 |
| Build the injection library. More... | |
| virtual void | buildTypegrp (DocumentStorage &store) |
| Build the data-type factory/container. More... | |
| virtual void | buildCommentDB (DocumentStorage &store) |
| Build the comment database. More... | |
| virtual void | buildConstantPool (DocumentStorage &store) |
| Build the constant pool. More... | |
| virtual void | buildInstructions (DocumentStorage &store) |
| Register the p-code operations. More... | |
| virtual void | buildAction (DocumentStorage &store) |
| Build the Action framework. More... | |
| virtual void | buildContext (DocumentStorage &store) |
| Build the Context database. More... | |
| virtual void | buildSpecFile (DocumentStorage &store)=0 |
| Load any relevant specification files. More... | |
| virtual void | modifySpaces (Translate *trans)=0 |
| Modify address spaces as required by this Architecture. More... | |
| virtual void | postSpecFile (void) |
| Let components initialize after Translate is built. | |
| virtual void | resolveArchitecture (void)=0 |
| Figure out the processor and compiler of the target executable. | |
| void | restoreFromSpec (DocumentStorage &store) |
| Fully initialize the Translate object. More... | |
| void | fillinReadOnlyFromLoader (void) |
| Load info about read-only sections. More... | |
| void | initializeSegments () |
| Set up segment resolvers. More... | |
| void | cacheAddrSpaceProperties (void) |
| Calculate some frequently used space properties and cache them. More... | |
| void | parseProcessorConfig (DocumentStorage &store) |
| Apply processor specific configuration. More... | |
| void | parseCompilerConfig (DocumentStorage &store) |
| Apply compiler specific configuration. More... | |
| void | parseExtraRules (DocumentStorage &store) |
| Apply any Rule tags. More... | |
| void | parseDynamicRule (const Element *el) |
| Apply details of a dynamic Rule object. More... | |
| ProtoModel * | parseProto (const Element *el) |
| Build a proto-type model from an XML tag. More... | |
| void | parseProtoEval (const Element *el) |
| Apply prototype evaluation configuration. More... | |
| void | parseDefaultProto (const Element *el) |
| Apply default prototype model configuration. More... | |
| void | parseGlobal (const Element *el) |
| Apply global space configuration. More... | |
| void | addOtherSpace (void) |
| Add OTHER space and all of its overlays to the symboltab. | |
| void | parseReadOnly (const Element *el) |
| Apply read-only region configuration. More... | |
| void | parseVolatile (const Element *el) |
| Apply volatile region configuration. More... | |
| void | parseReturnAddress (const Element *el) |
| Apply return address configuration. More... | |
| void | parseIncidentalCopy (const Element *el) |
| Apply incidental copy configuration. More... | |
| void | parseLaneSizes (const Element *el) |
| Apply lane size configuration. More... | |
| void | parseStackPointer (const Element *el) |
| Apply stack pointer configuration. More... | |
| void | parseDeadcodeDelay (const Element *el) |
| Apply dead-code delay configuration. More... | |
| void | parseFuncPtrAlign (const Element *el) |
| Apply function pointer alignment configuration. More... | |
| void | parseSpacebase (const Element *el) |
| Create an additional indexed space. More... | |
| void | parseNoHighPtr (const Element *el) |
| Apply memory alias configuration. More... | |
| void | parsePreferSplit (const Element *el) |
| Designate registers to be split. More... | |
| void | parseAggressiveTrim (const Element *el) |
| Designate how to trim extension p-code ops. More... | |
| Protected Member Functions inherited from AddrSpaceManager | |
| AddrSpace * | restoreXmlSpace (const Element *el, const Translate *trans) |
| Add a space to the model based an on XML tag. More... | |
| void | restoreXmlSpaces (const Element *el, const Translate *trans) |
| Restore address spaces in the model from an XML tag. More... | |
| void | setDefaultCodeSpace (int4 index) |
| Set the default address space (for code) More... | |
| void | setDefaultDataSpace (int4 index) |
| Set the default address space for data. More... | |
| void | setReverseJustified (AddrSpace *spc) |
| Set reverse justified property on this space. More... | |
| void | assignShortcut (AddrSpace *spc) |
| Select a shortcut character for a new space. More... | |
| void | markNearPointers (AddrSpace *spc, int4 size) |
| Mark that given space can be accessed with near pointers. More... | |
| void | insertSpace (AddrSpace *spc) |
| Add a new address space to the model. More... | |
| void | copySpaces (const AddrSpaceManager *op2) |
| Copy spaces from another manager. More... | |
| void | addSpacebasePointer (SpacebaseSpace *basespace, const VarnodeData &ptrdata, int4 truncSize, bool stackGrowth) |
| Set the base register of a spacebase space. More... | |
| void | insertResolver (AddrSpace *spc, AddressResolver *rsolv) |
| Override the base resolver for a space. More... | |
| JoinRecord * | findJoinInternal (uintb offset) const |
| Find JoinRecord for offset in the join space. More... | |
Manager for all the major decompiler subsystems.
An instantiation is tailored to a specific LoadImage, processor, and compiler spec. This class is the owner of the LoadImage, Translate, symbols (Database), PrintLanguage, etc. This class also holds numerous configuration parameters for the analysis process
| Architecture::Architecture | ( | void | ) |
Construct an uninitialized Architecture.
Set most sub-components to null pointers. Provide reasonable defaults for the configurable options
|
virtual |
Destructor.
Release resources for all sub-components.
|
protected |
Add a new region where pointers do not exist.
This routine is used by the initialization process to add address ranges to which there is never an (indirect) pointer Should only be called during initialization
| rng | is the new range with no aliases to be added |
|
protected |
Create a new space and associated pointer.
This process sets up a "register relative" space for this architecture If the name is "stack", this space takes on the role of an "official" stack space Should only be called once during initialization
| basespace | is the address space underlying the stack |
| nm | is the name of the new space |
| ptrdata | is the register location acting as a pointer into the new space |
| truncSize | is the (possibly truncated) size of the register that fits the space |
| isreversejustified | is true if small variables are justified opposite of endianness |
| stackGrowth | is true if a stack implemented in this space grows in the negative direction |
|
protectedvirtual |
|
protectedvirtual |
Build the comment database.
Build the container that holds comments for executable in this Architecture.
| store | may hold configuration information |
|
protectedvirtual |
Build the constant pool.
Some processor models (Java byte-code) need a database of constants. The database is always built, but may remain empty.
| store | may hold configuration information |
|
protectedvirtual |
Build the Context database.
This builds the database which holds the status registers setings and other information that can affect disassembly depending on context.
| store | may hold configuration information |
|
protectedvirtual |
|
protectedvirtual |
Register the p-code operations.
This registers the OpBehavior objects for all known p-code OpCodes. The Translate and TypeFactory object should already be built.
| store | may hold configuration information |
|
protectedpure virtual |
Build the LoadImage object and load the executable image.
| store | may hold configuration information |
|
protectedpure virtual |
Build the injection library.
This creates the container for p-code injections. It is initially empty.
Implemented in SleighArchitecture.
|
protectedpure virtual |
Load any relevant specification files.
Processor/architecture specific configuration files are loaded into the XML store
| store | is the document store that will hold the configuration |
Implemented in SleighArchitecture.
|
protectedpure virtual |
Build the Translator object.
This builds the main disassembly component for the Architecture This does not initially the engine for a specific processor.
| store | may hold configuration information |
Implemented in SleighArchitecture.
|
protectedvirtual |
Build the data-type factory/container.
This builds the TypeFactory object specific to this architecture and prepopulates it with the core types. Core types may be pulled from the configuration information, or default core types are used.
| store | contains possible configuration information |
|
protected |
Calculate some frequently used space properties and cache them.
Determine the minimum pointer size for the space and whether or not there are near pointers. Set up an ordered list of inferable spaces (where constant pointers can be infered). Inferable spaces include the default space and anything explicitly listed in the cspec <global> tag that is not a register space. An initial list of potential spaces is passed in that needs to be ordered, filtered, and deduplicated.
| void Architecture::clearAnalysis | ( | Funcdata * | fd | ) |
Clear analysis specific to a function.
Throw out the syntax tree, (unlocked) symbols, comments, and other derived information about a single function.
| fd | is the function to clear |
| void Architecture::collectBehaviors | ( | vector< OpBehavior *> & | behave | ) | const |
Provide a list of OpBehavior objects.
For all registered p-code opcodes, return the corresponding OpBehavior object. The object pointers are provided in a list indexed by OpCode.
| behave | is the list to be populated |
|
protected |
Load info about read-only sections.
The LoadImage may have access information about the executables sections. Query for any read-only ranges and store this information in the property database
| const LanedRegister * Architecture::getLanedRegister | ( | const Address & | loc, |
| int4 | size | ||
| ) | const |
Get LanedRegister associated with storage.
Look-up the laned register record associated with a specific storage location. Currently, the record is only associated with the size of the storage, not its address. If there is no associated record, null is returned.
| loc | is the starting address of the storage location |
| size | is the size of the storage in bytes |
| int4 Architecture::getMinimumLanedRegisterSize | ( | void | ) | const |
Get the minimum size of a laned register in bytes.
Return a size intended for comparison with a Varnode size to immediately determine if the Varnode is a potential laned register. If there are no laned registers for the architecture, -1 is returned.
| ProtoModel * Architecture::getModel | ( | const string & | nm | ) | const |
Get a specific PrototypeModel.
The Architecture maintains the set of prototype models that can be applied for this particular executable. Retrieve one by name. The model must exist or an exception is thrown.
| nm | is the name |
Retrieve the segment op for the given space if any.
This method searches for a user-defined segment op registered for the given space.
| spc | is the address space to check |
Get space associated with a spacebase register.
Get the address space associated with the indicated spacebase register. I.e. if the location of the stack pointer is passed in, this routine would return a pointer to the stack space. An exception is thrown if no corresponding space is found.
| loc | is the location of the spacebase register |
| size | is the size of the register in bytes |
| void Architecture::globalify | ( | void | ) |
Mark all spaces as global.
Set all IPTR_PROCESSOR and IPTR_SPACEBASE spaces to be global.
| bool Architecture::hasModel | ( | const string & | nm | ) | const |
Does this Architecture have a specific PrototypeModel.
| nm | is the name of the model |
|
inline |
Are pointers possible to the given location?
The Translate object keeps track of address ranges for which it is effectively impossible to have a pointer into. This is used for pointer aliasing calculations. This routine returns true if it is possible to have pointers into the indicated range.
| loc | is the starting address of the range |
| size | is the size of the range in bytes |
| void Architecture::init | ( | DocumentStorage & | store | ) |
Load the image and configure architecture.
Create the LoadImage and load the executable to be analyzed. Using this and possibly other initialization information, create all the sub-components necessary for a complete Architecture The DocumentStore may hold previously gleaned configuration information and is used to read in other configuration files while initializing.
| store | is the XML document store |
|
protected |
Set up segment resolvers.
If any address space supports near pointers and segment operators, setup SegmentedResolver objects that can be used to recover full pointers in context.
|
protectedpure virtual |
Modify address spaces as required by this Architecture.
If spaces need to be truncated or otherwise changed from processor defaults, this routine performs the modification.
| trans | is the processor disassembly object |
Implemented in SleighArchitecture.
|
virtual |
Pick a default name for a function.
If no better name is available, this method can be used to generate a function name based on its address
| addr | is the address of the function |
| name | will hold the constructed name |
|
protected |
Designate how to trim extension p-code ops.
Configure based on the <aggressivetrim> tag, how aggressively the decompiler will remove extension operations.
| el | is the XML element |
|
protected |
Apply compiler specific configuration.
This looks for the <compiler_spec> tag and sets configuration parameters based on it.
| store | is the document store holding the tag |
|
protected |
Apply dead-code delay configuration.
Manually alter the dead-code delay for a specific address space, based on a <deadcodedelay> tag.
| el | is the XML element |
|
protected |
Apply default prototype model configuration.
There should be exactly one <default_proto> tag that specifies what the default prototype model is. This builds the ProtoModel object and sets it as the default.
| el | is the XML element |
|
protected |
|
protected |
|
protected |
Apply function pointer alignment configuration.
Pull information from a <funcptr> tag. Turn on alignment analysis of function pointers, some architectures have aligned function pointers and encode extra information in the unused bits.
| el | is the XML element |
|
protected |
Apply global space configuration.
This handles the <global> tag adding an address space (or part of the space) to the global scope. Varnodes in this region will be assumed to be global variables.
| el | is the XML element |
|
protected |
Apply incidental copy configuration.
Apply information from an <incidentalcopy> tag, which marks a set of addresses as being copied to incidentally. This allows the decompiler to ignore certain side-effects.
| el | is the XML element |
|
protected |
Apply lane size configuration.
Look for <register> tags that have a vector_lane_size attribute. Record these so that the decompiler can split large registers into appropriate lane size pieces.
| el | is the XML element |
|
protected |
Apply memory alias configuration.
Configure memory based on a <nohighptr> tag. Mark specific address ranges to indicate the decompiler will not encounter pointers (aliases) into the range.
| el | is the XML element |
|
protected |
Designate registers to be split.
Configure registers based on a <prefersplit> tag. Mark specific varnodes that the decompiler should automatically split when it first sees them.
| el | is the XML element |
|
protected |
Apply processor specific configuration.
This looks for the <processor_spec> tag and and sets configuration parameters based on it.
| store | is the document store holding the tag |
|
protected |
Build a proto-type model from an XML tag.
This handles the <prototype> and <resolveprototype> tags. It builds the ProtoModel object based on the tag and makes it available generally to the decompiler.
| el | is the XML tag element |
|
protected |
Apply prototype evaluation configuration.
This supports the <eval_called_prototype> and <eval_current_prototype> tag. This determines which prototype model to assume when recovering the prototype for a called function and the current function respectively.
| el | is the XML element |
|
protected |
Apply read-only region configuration.
This applies info from a <readonly> tag marking a specific region of the executable as read-only.
| el | is the XML element |
|
protected |
Apply return address configuration.
This applies info from <returnaddress> tag and sets the default storage location for the return address of a function.
| el | is the XML element |
|
protected |
Create an additional indexed space.
Designate a new index register and create a new address space associated with it, based on a <spacebase> tag.
| el | is the XML element |
|
protected |
Apply stack pointer configuration.
Create a stack space and a stack-pointer register from this <stackpointer> element
| el | is the XML element |
|
protected |
Apply volatile region configuration.
This applies info from a <volatile> tag marking specific regions of the executable as holding volatile memory or registers.
| el | is the XML element |
|
pure virtual |
Print an error message to console.
Write the given message to whatever the registered error stream is
| message | is the error message |
Implemented in ArchitectureGhidra, and SleighArchitecture.
| void Architecture::readLoaderSymbols | ( | void | ) |
Read any symbols from loader into database.
Symbols do not necessarily need to be available for the decompiler. This routine loads all the load image knows about into the symbol table
| void Architecture::restoreFlowOverride | ( | const Element * | el | ) |
Set flow overrides from XML.
Insert a series of out-of-band flow overrides based on a <flowoverridelist> tag.
| el | is the XML element |
|
protected |
|
virtual |
Restore the Architecture state from an XML stream.
Read in all the sub-component state from a <save_state> XML tag When adding stuff to this BEWARE: The spec file has already initialized stuff
| store | is document store containing the parsed root tag |
Reimplemented in BfdArchitecture, RawBinaryArchitecture, and XmlArchitecture.
|
virtual |
Serialize this architecture to XML.
Write the current state of all types, symbols, functions, etc. an XML stream
| s | is the output stream |
Reimplemented in BfdArchitecture, RawBinaryArchitecture, and XmlArchitecture.
| void Architecture::setDefaultModel | ( | const string & | nm | ) |
Set the default PrototypeModel.
The default model is used whenever an explicit model is not known or can't be determined.
| nm | is the name of the model to set |
| void Architecture::setPrintLanguage | ( | const string & | nm | ) |
Establish a particular output language.
The decompiler supports one or more output languages (C, Java). This method does the main work of selecting one of the supported languages. In addition to selecting the main PrintLanguage object, this triggers configuration of the cast strategy and p-code op behaviors.
| nm | is the name of the language |
| void Architecture::setPrototype | ( | const PrototypePieces & | pieces | ) |
Set the prototype for a particular function.
Establish details of the prototype for a given function symbol
| pieces | holds the raw prototype information and the symbol name |


The push() method adds one or more elements to the end of an array and returns the new length of the array.
push()
if (hour < 18) { greeting = "Good day"; } else { greeting = "Good evening"; }


One day I decided that I am subscribed to too many Youtube channels. When I started going through my subscription list I quickly noticed the process is very time consuming because a user has to click each individual unsubscribe button. That's when I decided to look for a solution which would allow me to unsubscribe from multiple Youtube channels at once. I found a forum post and some articles (here is one of them) where a solution is presented, but it involves copying code into the browser's console and I thougth about making it easier for the average user. I then decided to look into the Youtube Data API and quickly found out this wouldn't be that hard to do. So here's the finished product. Special thanks to this blog post.
You can look through the code and/or make any other suggestions/requests here.
Chose one of the two buttons above according to what you want to achieve. If you want to manage your subscription list click the Unsubscribe button. If you already did that and want to resubscribe to some of the channels via the backup file you downloaded click the Resubscribe button.
Below is your subscription list. You can scroll through it and check/uncheck the checkbox before each item. Eventually you'll make it to the bottom of the page where you can read further instructions.
If you want you can save a file of all your subscriptions by clicking the Backup button. The file can be used to resubscribe to the channels if you change your mind.
When you're ready you can click the Unsubscribe button and you'll be unsubscribed from all the selected channels.
Choose the backup file you downloaded before unsubscribing. Go through the list and check/uncheck the chekbox before the ones you want to resubscribe to. When you're satisfied click the Resubscribe button at the bottom of the page.
If you like what I made or find it useful, you can consider donating. Thank you!