diff --git a/README.md b/README.md index f196c673b1909da0a33448770cdc46a70ac638b5..f21a2ad5e5f0c14f15a878a57809f6064cb4e7e1 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ + [Storm 1.1.0 中文文档](doc/storm-110-doc-zh/SUMMARY.md) + [Zeppelin 0.7.2 中文文档](doc/zeppelin-072-doc-zh/SUMMARY.md) + [Hudi 0.5.0 中文文档](doc/hudi-050-doc-zh/SUMMARY.md) ++ [Kafka 1.0.0 中文文档](doc/kafka-100-doc-zh/SUMMARY.md) ## 贡献指南 diff --git a/doc/kafka-100-doc-zh/404.html b/doc/kafka-100-doc-zh/404.html new file mode 100644 index 0000000000000000000000000000000000000000..99ff94f2072ac7f569f453985ec6f3da91124886 --- /dev/null +++ b/doc/kafka-100-doc-zh/404.html @@ -0,0 +1,26 @@ + + + + + + +404 + + + + +

404,您请求的文件不存在!

+ + diff --git a/doc/kafka-100-doc-zh/code.html b/doc/kafka-100-doc-zh/code.html new file mode 100644 index 0000000000000000000000000000000000000000..dde8a8d98dc13aa448ea8c4babfec06ee6e894a5 --- /dev/null +++ b/doc/kafka-100-doc-zh/code.html @@ -0,0 +1,303 @@ + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ + + +
+

Getting the code

+

+ Our code is kept in git. You can check it out like this: +

+
+			git clone https://git-wip-us.apache.org/repos/asf/kafka.git kafka
+		
+

+ Information on contributing patches can be found here. +

+

+ Official releases are available here. +

+

+ The source code for the web site and documentation can be checked out from Apache git repo: +

+			git clone -b asf-site https://git-wip-us.apache.org/repos/asf/kafka-site.git
+		
+ A github mirror is used for submitting patches for website and documentation. We think documentation is a core part of the project and welcome any improvements, suggestions, or clarifications. The procedure of contributing to the documentation can also be found here. +

+

+ To setup IDEs for development, following this guide on the wiki. +

+ + +
+
+
+ + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/coding-guide.html b/doc/kafka-100-doc-zh/coding-guide.html new file mode 100644 index 0000000000000000000000000000000000000000..470b8f167eb9a0170713648cd7ec8d2df78993f7 --- /dev/null +++ b/doc/kafka-100-doc-zh/coding-guide.html @@ -0,0 +1,419 @@ + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ + + +
+

Coding guidelines

+

+ These guidelines are meant to encourage consistency and best practices amongst people working on the Kafka® code base. They should be observed unless there is a compelling reason to ignore them. +

+ +

Basic Stuff

+
    +
  • Avoid cryptic abbreviations. Single letter variable names are fine in very short methods with few variables, otherwise make them informative.
  • +
  • Clear code is preferable to comments. When possible make your naming so good you don't need comments. When that isn't possible comments should be thought of as mandatory, write them to be read.
  • +
  • Logging, configuration, and public APIs are our "UI". Make them pretty, consistent, and usable.
  • +
  • There is not a maximum line length (certainly not 80 characters, we don't work on punch cards any more), but be reasonable.
  • +
  • Don't be sloppy. Don't check in commented out code: we use version control, it is still there in the history. Don't leave TODOs in the code or FIXMEs if you can help it. Don't leave println statements in the code. Hopefully this is all obvious.
  • +
  • We want people to use our stuff, which means we need clear, correct documentation. User documentation should be considered a part of any user-facing the feature, just like unit tests or performance results.
  • +
  • Don't duplicate code (duh).
  • +
  • Kafka is system software, and certain things are appropriate in system software that are not appropriate elsewhere. Sockets, bytes, concurrency, and distribution are our core competency which means we will have a more "from scratch" implementation of some of these things then would be appropriate for software elsewhere in the stack. This is because we need to be exceptionally good at these things. This does not excuse fiddly low-level code, but it does excuse spending a little extra time to make sure that our filesystem structures, networking code, threading model, are all done perfectly right for our application rather than just trying to glue together ill-fitting off-the-shelf pieces (well-fitting off-the-shelf pieces are great though).
  • +
+ +

Scala

+ We are following the style guide given here (though not perfectly). Below are some specifics worth noting: +
    +
  • Scala is a very flexible language. Use restraint. Magic cryptic one-liners do not impress us, readability impresses us.
  • +
  • Use vals when possible.
  • +
  • Use private when possible for member variables.
  • +
  • Method and member variable names should be in camel case with an initial lower case character like aMethodName.
  • +
  • Constants should be camel case with an initial capital LikeThis not LIKE_THIS.
  • +
  • Prefer a single top-level class per file for ease of finding things.
  • +
  • Do not use semi-colons unless required.
  • +
  • Avoid getters and setters - stick to plain vals or vars instead. If (later on) you require a custom setter (or getter) for a var named myVar then add a shadow var myVar_underlying and override the setter (def myVar_=) and the getter (def myVar = myVar_underlying).
  • +
  • Prefer Option to null in scala APIs.
  • +
  • Use named arguments when passing in literal values if the meaning is at all unclear, for example instead of Utils.delete(true) prefer Utils.delete(recursive=true). +
  • Indentation is 2 spaces and never tabs. One could argue the right amount of indentation, but 2 seems to be standard for scala and consistency is best here since there is clearly no "right" way.
  • +
  • Include the optional parenthesis on a no-arg method only if the method has a side-effect, otherwise omit them. For example fileChannel.force() and fileChannel.size. This helps emphasize that you are calling the method for the side effect, which is changing some state, not just getting the return value.
  • +
  • Prefer case classes to tuples in important APIs to make it clear what the intended contents are.
  • +
+ +

Logging

+
    +
  • Logging is one third of our "UI" and it should be taken seriously. Please take the time to assess the logs when making a change to ensure that the important things are getting logged and there is no junk there.
  • +
  • Logging statements should be complete sentences with proper capitalization that are written to be read by a person not necessarily familiar with the source code. It is fine to put in hacky little logging statements when debugging, but either clean them up or remove them before checking in. So logging something like "INFO: entering SyncProducer send()" is not appropriate.
  • +
  • Logging should not mention class names or internal variables.
  • +
  • There are six levels of logging TRACE, DEBUG, INFO, WARN, ERROR, and FATAL, they should be used as follows. +
      +
    • INFO is the level you should assume the software will be run in. INFO messages are things which are not bad but which the user will definitely want to know about every time they occur. +
    • TRACE and DEBUG are both things you turn on when something is wrong and you want to figure out what is going on. DEBUG should not be so fine grained that it will seriously effect the performance of the server. TRACE can be anything. Both DEBUG and TRACE statements should be wrapped in an if(logger.isDebugEnabled) check to avoid pasting together big strings all the time. +
    • WARN and ERROR indicate something that is bad. Use WARN if you aren't totally sure it is bad, and ERROR if you are. +
    • Use FATAL only right before calling System.exit(). +
    +
  • +
+ +

Monitoring

+
    +
  • Monitoring is the second third of our "UI" and it should also be taken seriously.
  • +
  • We use JMX for monitoring.
  • +
  • Any new features should come with appropriate monitoring to know the feature is working correctly. This is at least as important as unit tests as it verifies production.
  • +
+ +

Unit Tests

+
    +
  • New patches should come with unit tests that verify the functionality being added.
  • +
  • Unit tests are first rate code, and should be treated like it. They should not contain code duplication, cryptic hackery, or anything like that.
  • +
  • Be aware of the methods in kafka.utils.TestUtils, they make a lot of the below things easier to get right.
  • +
  • Unit tests should test the least amount of code possible, don't start the whole server unless there is no other way to test a single class or small group of classes in isolation.
  • +
  • Tests should not depend on any external resources, they need to set up and tear down their own stuff. This means if you want zookeeper it needs to be started and stopped, you can't depend on it already being there. Likewise if you need a file with some data in it, you need to write it in the beginning of the test and delete it (pass or fail).
  • +
  • It is okay to use the filesystem and network in tests since that is our business but you need to clean up after yourself. There are helpers for this in TestUtils.
  • +
  • Do not use sleep or other timing assumptions in tests, it is always, always, always wrong and will fail intermittently on any test server with other things going on that causes delays. Write tests in such a way that they are not timing dependent. Seriously. One thing that will help this is to never directly use the system clock in code (i.e. System.currentTimeMillis) but instead to use the kafka.utils.Time. This is a trait that has a mock implementation allowing you to programmatically and deterministically cause the passage of time when you inject this mock clock instead of the system clock.
  • +
  • It must be possible to run the tests in parallel, without having them collide. This is a practical thing to allow multiple branches to CI on a single CI server. This means you can't hard code directories or ports or things like that in tests because two instances will step on each other. Again TestUtils has helpers for this stuff (e.g. TestUtils.choosePort will find a free port for you).
  • +
+ +

Configuration

+
    +
  • Configuration is the final third of our "UI".
  • +
  • Names should be thought through from the point of view of the person using the config, but often programmers choose configuration names that make sense for someone reading the code.
  • +
  • Often the value that makes most sense in configuration is not the one most useful to program with. For example, let's say you want to throttle I/O to avoid using up all the I/O bandwidth. The easiest thing to implement is to give a "sleep time" configuration that let's the program sleep after doing I/O to throttle down its rate. But notice how hard it is to correctly use this configuration parameter, the user has to figure out the rate of I/O on the machine, and then do a bunch of arithmetic to calculate the right sleep time to give the desired rate of I/O on the system. It is much, much, much better to just have the user configure the maximum I/O rate they want to allow (say 5MB/sec) and then calculate the appropriate sleep time from that and the actual I/O rate. Another way to say this is that configuration should always be in terms of the quantity that the user knows, not the quantity you want to use.
  • +
  • Configuration is the answer to problems we can't solve up front for some reason--if there is a way to just choose a best value do that instead.
  • +
  • Configuration should come from the instance-level properties file. No additional sources of config (environment variables, system properties, etc) should be added as these usually inhibit running multiple instances of a broker on one machine.
  • +
+ +

Concurrency

+
    +
  • Encapsulate synchronization. That is, locks should be private member variables within a class and only one class or method should need to be examined to verify the correctness of the synchronization strategy.
  • +
  • Annotate things as @threadsafe when they are supposed to be and @notthreadsafe when they aren't to help track this stuff.
  • +
  • There are a number of gotchas with threads and threadpools: is the daemon flag set appropriately for your threads? are your threads being named in a way that will distinguish their purpose in a thread dump? What happens when the number of queued tasks hits the limit (do you drop stuff? do you block?).
  • +
  • Prefer the java.util.concurrent packages to either low-level wait-notify, custom locking/synchronization, or higher level scala-specific primitives. The util.concurrent stuff is well thought out and actually works correctly. There is a generally feeling that threads and locking are not going to be the concurrency primitives of the future because of a variety of well-known weaknesses they have. This is probably true, but they have the advantage of actually being mature enough to use for high-performance software right now; their well-known deficiencies are easily worked around by equally well known best-practices. So avoid actors, software transactional memory, tuple spaces, or anything else not written by Doug Lea and used by at least a million other productions systems. :-)
  • +
+ +

Backwards Compatibility

+
    +
  • Our policy is that the Kafka protocols and data formats should support backwards compatibility for one release to enable no-downtime upgrades (unless there is a very compelling counter-argument). This means the server MUST be able to support requests from both old and new clients simultaneously. This compatability need only be retained for one release (e.g. 0.7 must accept requests from 0.6 clients, but this need not be maintained indefinitely). The code handling the "old" path can be removed in the next release or whenever we can get all the clients up-to-date. A typical upgrade sequence for binary format changes would be (1) upgrade consumers to handle new message format, (2) upgrade server, (3) clients.
  • +
  • There are three things which require this binary compatibility: request objects, persistent data structure (messages and message sets), and zookeeper structures and protocols. The message binary structure has a "magic" byte to allow it to be evolved, this number should be incremented when the format is changed and the number can be checked to apply the right logic and fill in defaults appropriately. Network requests have a request id which serve a similar purpose, any change to a request object must be accompanied by a change in the request id. Any change here should be accompanied by compatibility tests that save requests or messages in the old format as a binary file which is tested for compatibility with the new code.
  • +
+ +

Client Code

+

There are a few things that need to be considered in client code that are not a major concern on the server side.

+
    +
  • Libraries needed by the client should be avoided whenever possible. Clients are run in someone else's code and it is very possible that they may have the same library we have, but a different and incompatible version. This will mean they can't use our client. For this reason the client should not use any libraries that are not strictly necessary.
  • +
  • We should attempt to maintain API compatibility when possible, though at this point in the project's lifecycle it is more important to make things good rather than avoid breakage.
  • +
+ +

Streams API

+

Kafka's Streams API (aka Kafka Streams) uses a few more additional coding guidelines. + All contributors should follow these the get a high quality and uniform code base. + Some rules help to simplify PR reviews and thus make the life of all contributors easier.

+
    +
  • Use final when possible. + This holds for all class members, local variables, loop variables, and method parameters.
  • +
  • Write modular and thus testable code. Refactor if necessary!
  • +
  • Avoid large PRs (recommended is not more the 500 lines per PR). + Many JIRAs requires larger code changes; thus, split the work in multiple PRs and create according sub-task on the JIRA to track the work.
  • +
  • All public APIs must have JavaDocs.
  • +
  • Verify if JavaDocs are still up to date or if they need to be updated.
  • +
  • JavaDocs: Write grammatically correct sentences and use punctuation marks correctly.
  • +
  • Use proper markup (e.g., {@code null}).
  • +
  • Update the documentation on the Kafka webpage (i.e., within folder docs/. + Doc changes are not additional work (i.e., no follow up PRs) but part of the actual PR (can also be a sub-task).
  • +
  • Testing: +
      +
    • Use self-explaining method names (e.g., shouldNotAcceptNullAsTopicName()).
    • +
    • Each test should cover only a single case.
    • +
    • Keep tests as short as possible (i.e., write crisp code).
    • +
    • Write tests for all possible parameter values.
    • +
    • Don't use reflections but rewrite your code (reflections indicate bad design in the first place).
    • +
    • Use annotations such as @Test(expected = SomeException.class) only for single line tests.
    • +
    +
  • +
  • Code formatting (those make Github diffs easier to read and thus simplify code reviews): +
      +
    • No line should be longer than 120 characters.
    • +
    • Use a "single parameter per line" formatting when defining methods (also for methods with only 2 parameters).
    • +
    • If a method call is longer than 120 characters, switch to a single parameter per line formatting + (instead of just breaking it into two lines only).
    • +
    • For JavaDocs, start a new line for each new sentence.
    • +
    • Avoid unnecessary reformatting.
    • +
    • If reformatting is neccessary, do a minor PR (either upfront or as follow up).
    • +
    +
  • +
  • Run ./gradlew clean chechstyleMain checkstyleTest before opening/updating a PR.
  • +
  • Help reviewing! + No need to be shy; if you can contribute code, you know enough to comment on the work of others.
  • +
+ +
+
+
+ + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/committers.html b/doc/kafka-100-doc-zh/committers.html new file mode 100644 index 0000000000000000000000000000000000000000..d87a9bfc7ede085454b848c3aeba512168c572de --- /dev/null +++ b/doc/kafka-100-doc-zh/committers.html @@ -0,0 +1,380 @@ + + +
+ + + +
+

The committers

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Jun Rao
+ Committer, PMC member, and VP of Kafka
+ /in/junrao
+ @junrao +
+ + + Neha Narkhede
+ Committer, and PMC member
+ /in/nehanarkhede
+ @nehanarkhede +
+ + + Joe Stein
+ Committer, and PMC member
+ /in/charmalloc
+ @allthingshadoop +
+ + + Jay Kreps
+ Committer, and PMC member
+ /in/jaykreps
+ @jaykreps +
+ + + Joel Koshy
+ Committer, and PMC member
+ /in/jjkoshy +
+ + + Prashanth Menon
+ Committer, and PMC member
+ /in/prasmenon
+ twitter +
+ + + Jakob Homan
+ Apache Member, Committer, and PMC member
+ /in/jghoman
+ @blueboxtraveler +
+ + + David Arthur
+ Committer
+ /in/davidarthur
+ @mumrah +
+ + + Sriram Subramanian
+ Committer
+ /in/sriram
+ @sriramsub1 +
+ + + Guozhang Wang
+ Committer, and PMC member
+ /in/guozhang
+ @guozhangwang +
+ + + Gwen Shapira
+ Committer, and PMC member
+ /in/gwenshapira
+ @gwenshap
+
+ + + Sriharsha Chintalapani
+ Committer
+ /in/sriharsha
+ @d3fmacro
+
+ + + Ewen Cheslack-Postava
+ Committer
+ /in/ewencp
+ @ewencp
+
+ + + Ismael Juma
+ Committer, and PMC member
+ /in/ijuma
+ @ijuma
+
+ + + Jason Gustafson
+ Committer, and PMC member
+ /in/jasongustafson
+
+ + + Jiangjie (Becket) Qin
+ Committer, and PMC member
+ /in/jiangjieqin
+
+ + + Grant Henke
+ Committer
+ /in/granthenke
+ @gchenke
+
+ + + Rajini Sivaram
+ Committer
+ /in/rajini-sivaram
+
+ + + Damian Guy
+ Committer
+ /in/damianguy
+ @damianguy
+
+ + + Onur Karaman
+ Committer
+ /in/onurkaraman
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/contact.html b/doc/kafka-100-doc-zh/contact.html new file mode 100644 index 0000000000000000000000000000000000000000..3fbc04174420c9611274b9344a7e1e1bebbc4ee9 --- /dev/null +++ b/doc/kafka-100-doc-zh/contact.html @@ -0,0 +1,258 @@ + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+

Contact

+

Mailing Lists

+ +

+ We have a few mailing lists hosted by Apache: +

+ + +

+ A searchable archive of the mailing lists is available at search-hadoop.com. +

+ +

+ To unsubscribe from any of these you just change the word "subscribe" in the above to "unsubscribe". +

+ +

+ Prior to the move to Apache we had a Google group we used for discussion. Archives can be found here. After that we were in Apache Incubator which has its own archives for user, dev, and commit lists. +

+ +

IRC

+

+ We have an IRC channel where there is often a few people hanging around if you want an interactive discussion. You can find us on chat.freenode.net in #apache-kafka room (previously #kafka). The irc log can be found here. +

+ + + +
+
+
+ + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/contributing.html b/doc/kafka-100-doc-zh/contributing.html new file mode 100644 index 0000000000000000000000000000000000000000..4750812d3a3e05d111bbc87c6b45db777fd651c6 --- /dev/null +++ b/doc/kafka-100-doc-zh/contributing.html @@ -0,0 +1,325 @@ + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ + + +
+

How to contribute

+

We are always very happy to have contributions, whether for trivial cleanups or big new features.

+

+ If you don't know Java or Scala you can still contribute to the project. An important area is the clients. We want to have high quality, well documented clients for each programming language. These, as well as the surrounding ecosystem of integration tools that people use with Kafka®, are critical aspects of the project. +

+ Nor is code the only way to contribute to the project. We strongly value documentation and gladly accept improvements to the documentation. + +

Contributing A Code Change

+ + To submit a change for inclusion, please do the following: + +
    +
  • If the change is non-trivial please include some unit tests that cover the new functionality.
  • +
  • If you are introducing a completely new feature or API it is a good idea to start a wiki and get consensus on the basic design first.
  • +
  • Make sure you have observed the recommendations in the style guide.
  • +
  • Follow the detailed instructions in Contributing Code Changes.
  • +
  • Note that if the change is related to user-facing protocols / interface / configs, etc, you need to make the corresponding change on the documentation as well. For wiki page changes feel free to edit the page content directly (you may need to contact us to get the permission first if it is your first time to edit on wiki); website docs live in the code repo under `docs` so that changes to that can be done in the same PR as changes to the code. Website doc change instructions are given below. +
  • It is our job to follow up on patches in a timely fashion. Nag us if we aren't doing our job (sometimes we drop things).
  • +
+ +

Contributing A Change To The Website

+ + To submit a change for inclusion please do the following: + +
    +
  • Follow the instructions in Contributing Website Changes.
  • +
  • It is our job to follow up on patches in a timely fashion. Nag us if we aren't doing our job (sometimes we drop things). If the patch needs improvement, the reviewer will mark the jira back to "In Progress" after reviewing.
  • +
+ +

Finding A Project To Work On

+ + The easiest way to get started working with the code base is to pick up a really easy JIRA and work on that. This will help you get familiar with the code base, build system, review process, etc. We flag these kind of starter bugs here. +

+ Please contact us to be added the contributor list. After that you can assign yourself to the JIRA ticket you have started working on so others will notice. +

+

+ If your work is considered a "major change" then you would need to initiate a Kafka Improvement Proposal (KIP) along with the JIRA ticket (more details can be found here). Please ask us to grant you the permission on wiki space in order to create a KIP wiki page. +

+

+ Once you have gotten through the basic process of checking in code, you may want to move on to a more substantial project. We try to curate this kind of project as well, and you can find these here. +

+ +

Becoming a Committer

+ + We are always interested in adding new contributors. What we look for is a series of contributions, good taste, and an ongoing interest in the project. If you are interested in becoming a committer, let one of the existing committers know and they can help guide you through the process. + + +
+
+
+ + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/css/styles.css b/doc/kafka-100-doc-zh/css/styles.css new file mode 100644 index 0000000000000000000000000000000000000000..e3896518663882277ad18be461de086d46e74f1a --- /dev/null +++ b/doc/kafka-100-doc-zh/css/styles.css @@ -0,0 +1,1455 @@ +/* globals */ + +html, +body { + height: 100%; +} +html { + font-size: 62.5%; +} +body { + display: flex; + flex-direction: column; + min-width: 32rem; + font-size: 1.5rem; + line-height: 1.8; + font-family: 'Roboto', sans-serif; + margin: 0; +} +code, +pre { + font-family: Menlo, Consolas, monospace; +} +pre { + border-style: solid; + border-color: #E5E5E5; + border-width: .1rem .5rem; + overflow-x: scroll; + padding: 1rem 2rem 1.5rem; + color: #444444; + margin: 2rem 0; +} +code { + border: .1rem solid #E5E5E5; + margin: 0 .3rem; + padding: .2rem .4rem; + background-color: #F4F9F9; +} +code b, +pre b, +h1, +h2, +h3, +h4 { + line-height: 1.4; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + color: #000000; +} +h1 { + font-size: 5.6rem; + font-weight: 900; + margin: 0; +} +h2 { + text-transform: uppercase; + font-size: 2rem; + font-weight: 700; + margin: 0; +} +h3, +h4 { + font-size: 2rem; + font-weight: 700; +} +h5 { + font-size: 1.6rem; +} +h3.bullet { + margin-bottom: 1rem; +} +h3.bullet::after { + content: ""; + display: block; + background-color: #000000; + height: .2rem; + width: 5rem; +} +a { + color: #0B6D88; + text-decoration: none; +} +a:hover { + color: #0C637B; +} +img { + max-width: 100%; +} +.btn { + background-color: #0B6D88; + color: #FFFFFF; + border-radius: .2rem; + -moz-border-radius: .2rem; + -webkit-border-radius: .2rem; + text-align: center; + text-transform: capitalize; + padding: .9rem 2rem; + box-sizing: border-box; +} +.btn--secondary { + color: #0B6D88; + border: .2rem solid #0B6D88; + background-color: transparent; +} +.btn--sm { + padding: .5rem 1rem; +} +.btn:hover { + background-color: #888888; + border-color: #888888; + color: #FFFFFF; +} +.btn-group a { + border: 1px solid #000000; + margin: 0; + float: left; + min-width: 10rem; + text-align: center; + height: 2.9rem; + line-height: 2.9rem; + margin-left: -.1rem; + color: #000000; +} +.btn-group a:hover { + cursor: pointer; + border-color: #888888; + background-color: #888888; + color: #FFFFFF; +} +.btn-group a:first-of-type { + border-radius: .2rem 0 0 .2rem; +} +.btn-group a:last-of-type { + border-radius: 0 .2rem .2rem 0; +} +.btn-group .selected { + background-color: #000000; + color: #ffffff; +} +ul { + padding-left: 2rem; + margin: 1rem 0 1rem 0; +} +.toc { + padding: 0; + list-style: none; + text-transform: uppercase; + margin-bottom: 5rem; +} +.toc li { + margin-bottom: .5rem; +} +.toc > li { + margin-bottom: .6rem; +} +.toc a { + color: #000000; +} +.toc ul { + padding: .5rem 1.7rem 0; + text-transform: none; + font-weight: 400; + margin: 0 0 2rem; +} +.toc a:hover, +.toc ul a { + color: #0B6D88; +} +.toc ul ul { + padding: 0 1.8rem; + margin-bottom: 0; +} +ol.toc { + list-style: decimal; + padding: 0 0 0 2rem; +} +ol.toc > li { + padding-left: .2rem; +} +.data-table { + display: block; + border: none; + border-collapse: collapse; + width: 100%; + overflow-x: scroll; + margin: 2rem 0; +} +.data-table tbody { + border-style: solid; + border-color: #E5E5E5; + border-width: 0 .5rem; +} +.data-table td, +.data-table th { + border: .1rem solid #cccccc; + padding: .5rem 1rem; + min-width: 10rem; +} +.data-table th { + text-align: left; + background-color: #000000; + border: .1rem solid #222222; + color: #ffffff; + font-weight: 400; + padding: 1rem; + text-transform: uppercase; + overflow: hidden; +} +.data-table td { + /* These are technically the same, but use both */ + + overflow-wrap: break-word; + word-wrap: break-word; + -ms-word-break: break-all; + /* This is the dangerous one in WebKit, as it breaks things wherever */ + + word-break: break-all; + /* Instead use this non-standard one: */ + + word-break: break-word; + /* Adds a hyphen where the word breaks, if supported (No Blink) */ + + -ms-hyphens: auto; + -moz-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} +.data-table tr td:first-of-type { + -ms-hyphens: none; + -moz-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} +/* helper classes */ + +.centered { + display: block; + margin: auto; +} +.pb-10 { + display: inline-block; + padding-bottom: 1rem; +} +/* components */ + +.main { + margin: 0 auto; + width: 120rem; + padding: 0 2rem 8rem 2rem; +} +.header { + padding: 2rem 0 1rem; + background-color: #FFFFFF; +} +.footer { + flex: 1; + position: relative; +} +.footer__inner { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + border-top: .1rem solid #dedede; + font-size: .9rem; + line-height: 1.2rem; + color: #888888; + padding: 2rem 0; +} +.footer__legal { + margin: 0 2rem; +} +.footer__legal a { + color: #666666; +} +.sub-header { + overflow: hidden; + margin: 3rem 0 1rem; +} +.breadcrumbs { + list-style: none; + padding: 0; + text-transform: uppercase; + margin-bottom: 0; + display: flex; +} +.breadcrumbs li { + display: flex; + align-items: center; + margin-right: .8rem; +} +.breadcrumbs li::after { + content: '\00BB'; + margin-left: .6rem; + height: 1rem; + line-height: .9rem; +} +.breadcrumbs a { + color: #000000; +} +.breadcrumbs a:hover { + color: #0B6D88; +} +.content { + margin-top: 3rem; +} +nav { + float: left; + text-transform: uppercase; + width: 16rem; +} +.nav__item, +.nav__item__with__subs { + color: #000000; + border-right: 2px solid #000000; + display: block; + padding-top: 1.5rem; + position: relative; +} +.nav__item__with__subs { + padding-top: 0; +} +.nav__sub__anchor, +.nav__sub__item { + border-right: none; +} +.nav__sub__item { + display: none; + color: #888888; + font-size: 1.2rem; + text-transform: capitalize; +} +.nav__item__with__subs--expanded .nav__sub__item { + display: block; +} +.nav__item:first-of-type { + padding-top: 0; +} +.nav__item__with__subs .nav__item:first-of-type { + padding-top: 1.5rem; +} +.nav__item::after { + content: ""; + display: block; + height: 1.1rem; + width: 1.1rem; + border-radius: 1rem; + -moz-border-radius: 1rem; + -webkit-border-radius: 1rem; + border: 2px solid #000000; + background: #FFFFFF; + position: absolute; + right: -.9rem; + top: 1.7rem; + opacity: 0; + transition: opacity .2s ease-out; +} +.nav__item.selected::after { + opacity: 1; +} +.nav__item.selected:first-of-type::after { + top: .2rem; +} +.nav__item__with__subs .nav__item:first-of-type::after { + top: 1.7rem; +} +nav .btn { + display: block; + margin-top: 4rem; +} +.social-links { + margin: 2rem 0 3rem; + font-size: 1.2rem; +} +.twitter { + color: #888888; + text-transform: none; + background-image: url(/images/twitter_logo.png); + background-size: contain; + background-repeat: no-repeat; + padding-left: 1.9rem; +} +.twitter:hover { + color: #888888; + opacity: 0.8; +} +.right { + margin-left: 22rem; + min-height: 60rem; + overflow: hidden; +} +.apache-feather { + position: absolute; + bottom: 2rem; + right: 2rem; +} +.apache-feather:hover { + -webkit-animation-name: spin; + -webkit-animation-duration: 200ms; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-name: spin; + -moz-animation-duration: 200ms; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + -ms-animation-name: spin; + -ms-animation-duration: 200ms; + -ms-animation-iteration-count: infinite; + -ms-animation-timing-function: linear; + animation-name: spin; + animation-duration: 200ms; + animation-iteration-count: infinite; + animation-timing-function: linear; +} +@-ms-keyframes spin { + from { + -ms-transform: rotate(0deg); + } + to { + -ms-transform: rotate(360deg); + } +} +@-moz-keyframes spin { + from { + -moz-transform: rotate(0deg); + } + to { + -moz-transform: rotate(360deg); + } +} +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + } +} +@keyframes spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} +/* pages */ + +.index { + text-align: center; + padding-right: 25%; +} +.desc { + margin-left: 3rem; + margin-bottom: 6rem; + overflow: hidden; +} +.desc-item { + float: left; + width: 24rem; + margin-left: 4.2rem; +} +.desc-item:first-of-type { + margin-left: 0; +} +.desc-item h2, +.desc-item p { + color: #000000; +} +.desc-item p { + margin: 0; + width: 20rem; +} +.desc-item__cta { + margin-top: .5rem; + display: block; +} +.desc-item p:before { + content: ""; + border-top: 2px solid #000000; + display: block; + -webkit-transition: width .5s; + transition: width .5s; + width: 5rem; + margin: .2rem 0 1rem; +} +.desc-item:hover p:before { + border-color: #0C637B; + width: 22rem; +} +.desc-item:hover h2, +.desc-item:hover p { + color: #0C637B; +} +.callout { + background-color: #F0F0F0; + padding: 1.5rem 2rem 3rem; + width: 33rem; + margin: 2rem auto 0; + position: relative; + text-align: center; +} +.callout--basic { + width: auto; +} +.callout::before { + content: ""; + width: 0; + height: 0; + border-style: solid; + border-width: 8rem 0 0 5rem; + border-color: transparent transparent transparent #F0F0F0; + top: -6rem; + right: 10rem; + position: absolute; + -ms-transform: rotate(-10deg); + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg); +} +.callout--basic::before { + display: none; +} +.callout__action { + display: inline-block; + width: 10rem; +} +.documentation__banner { + background-color: rgba(0, 0, 0, 0.8); + color: #ffffff; + display: block; + padding: 1.5rem 2rem; + margin-bottom: 3rem +} +.documentation__banner:hover { + background-color: #888888; + color: #ffffff; + cursor: pointer; +} +.documentation--current .documentation__banner { + display: none; +} +.grid { + margin-top: 2rem; +} +.grid__item { + width: 20rem; + margin: .5rem; + border-radius: .4rem; + overflow: hidden; + border: 1px solid #888888; +} +.grid__item__link { + display: block; + height: 8rem; + margin-bottom: -.1rem; + text-align: center; + padding-top: 2rem; +} +.grid__item__link:hover { + opacity: .8; +} +.grid__item__logo { + margin: auto; + width: 16rem; + height: 6rem; + display: block; + background-size: contain; + background-repeat: no-repeat; + background-position: center center; +} +.grid__item__description { + margin: 0 2rem 2rem; + padding-top: 2rem; + border-top: 1px solid #888888; +} +.pagination { + margin-top: 5rem; + margin-bottom: 8rem; + display: flex; + justify-content: space-between; +} +.pagination__btn { + border: .1rem solid #0B6D88; + border-radius: .2rem; + padding: .3rem; + width: 8rem; + display: flex; + align-items: center; + justify-content: center; +} +.pagination__btn__next::after { + content: '\00BB'; + margin-left: .6rem; + height: 1rem; + line-height: .9rem; +} +.pagination__btn__prev::before { + content: '\00AB'; + margin-right: .6rem; + height: 1rem; + line-height: .9rem; +} +.pagination__btn:hover { + opacity: .7; +} +.pagination__btn--disabled { + opacity: .2; +} +/* Doc landing page */ + +.hero { + margin: 6rem 0 5rem; + display: flex; + justify-content: space-around; +} +.hero__diagram { + max-width: 50rem; +} +.hero__cta { + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-end; + flex-basis: 25rem; + flex-shrink: 0; + padding-bottom: 4rem; +} +.hero__cta .btn { + height: 5.8rem; + width: 25rem; + font-size: 2rem; + font-weight: 700; + margin-top: 1rem; +} +.cards { + display: flex; + height: 16rem; + max-width: 92rem; + margin-top: 6rem; + margin-bottom: 8rem; +} +.card { + flex: 1; + margin-right: 2rem; + border: .2rem solid #000000; + border-radius: .4rem; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} +.card:hover { + border-color: #888888; + background: #888888 url('/images/icons/slash--white.png') no-repeat .5rem .5rem; + background-size: 2.5rem 2.4rem; +} +.cards .card:last-of-type { + margin-right: 0; +} +.card__icon, +.card__label { + display: flex; +} +.card__icon { + width: 8.1rem +} +.card__icon--hover { + display: none; +} +.card__label { + margin-top: 1rem; + color: #000000; + text-transform: uppercase; +} +.card:hover .card__label { + color: #FFFFFF; +} +.card:hover .card__icon { + display: none; +} +.card:hover .card__icon--hover { + display: flex; +} +.code-example { + border: .2rem solid; + padding: 2rem; + max-width: 92rem; + box-sizing: border-box; +} +.code-example .btn-group { + display: inline-block; + margin-bottom: 2rem; +} +.code-example__snippet { + display: none; +} +.code-example .selected { + display: block; +} +.feature-list { + list-style: none; + padding: 0; + display: block; + overflow: hidden; +} +.feature-list li { + float: left; + width: 50%; + line-height: 3.2rem; + margin-bottom: 1rem; +} +.feature-list li::before { + content: ''; + display: block; + height: 2.8rem; + width: 2.8rem; + border: .2rem solid; + border-radius: 2rem; + float: left; + margin-right: .8rem; + background-image: url('/images/icons/check.png'); + background-size: contain; +} +/* Responsive styles */ + +@media only screen and (max-width: 1240px) { + .main { + width: auto; + max-width: 100%; + margin: 0 2rem; + } + .footer__legal__one { + display: block; + } +} +@media only screen and (min-width: 1126px) { + .video__series__grid { + flex-direction: row; + } +} +@media only screen and (max-width: 1125px) { + .video__block { + padding-left: 0px!important; + padding-top: 15px; + } + .video__series__grid { + flex-direction: column; + margin: 0 auto 40px; + } + ul.video-list { + padding-left: 21px!important; + } + .right { + margin-left: 22rem; + } + .right-home { + margin-left: 32rem; + } + .desc { + margin-left: 0; + margin-bottom: 3rem; + } + .desc-item, + .desc-item:first-of-type { + float: none; + width: auto; + margin-left: 0; + display: block; + margin-bottom: 4rem; + } + .desc-item p { + width: auto; + } + .index { + padding-right: 0; + text-align: left; + } + .callout { + margin: 2rem 1.5rem; + } + .hero { + justify-content: flex-start; + } + .hero__diagram { + max-width: 42rem; + margin-right: 4rem; + } + .feature-list li { + width: 100%; + } +} +@media only screen and (max-width: 1035px) { + .apache-feather { + bottom: 2.8rem; + } +} +@media only screen and (max-width: 950px) { + .right { + margin-left: 22rem; + } + .hero { + flex-direction: column; + } + .hero__diagram { + margin: 0; + max-width: 100%; + } + .hero__cta { + flex-direction: row; + justify-content: center; + flex-basis: inherit; + margin-top: 4rem; + } + .hero__cta .btn:first-of-type { + margin-right: 1rem; + } + .card { + margin-right: 1rem; + } +} +@media only screen and (max-width: 800px) { + .kafka-diagram { + width: 80%; + min-width: 28rem; + height: auto; + } + .callout { + width: 60%; + min-width: 21rem; + } + .callout::before { + right: 25%; + } + .footer__legal__two { + display: block; + } + .hero__cta .btn { + font-size: 1.5rem; + font-weight: 400; + height: auto; + } + .cards { + flex-direction: column; + margin-top: 4rem; + height: auto; + margin-bottom: 4rem; + } + .card { + margin-right: 0; + margin-bottom: 1rem; + min-height: 10rem; + flex-direction: row; + justify-content: flex-start; + } + .card__icon { + width: 7rem; + margin: 0 2rem 0 2rem; + } + .card__label { + margin: 0; + s + } +} +@media only screen and (max-width: 650px) { + html, + body { + overflow-y: auto; + -webkit-overflow-scrolling: touch; + } + .main { + padding: 0 1rem; + margin: 0; + } + .kafka-diagram { + display: block; + margin: 0 auto; + } + .callout { + margin: 2rem auto; + } + .right { + padding-bottom: 10rem; + } + .navindicator { + min-width: 32rem; + position: absolute; + top: -0.8rem; + left: 0; + width: 100%; + text-align: center; + z-index: 2; + } + .navindicator__item { + height: .2rem; + width: calc(79% / 12); + /* Note: width of mobile nav indicator should be divided by number of top level pages */ + + background-color: #888888; + display: inline-block; + margin: 0 .5%; + } + .navindicator__item.selected { + background-color: #FFFFFF; + } + nav { + display: block; + position: fixed; + background-color: #000000; + bottom: 0; + left: 0; + z-index: 1; + width: 100%; + } + .nav-scroller { + white-space: nowrap; + overflow-y: hidden; + overflow-x: scroll; + -webkit-overflow-scrolling: touch; + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3); + } + .nav__inner { + width: 2000px; + } + .nav__item, + .nav__item:first-of-type { + color: #888888; + float: left; + padding: 2.6rem 1.1rem 1.8rem; + border: none; + } + .nav__item.selected, + .nav__item:hover { + color: #FFFFFF; + } + .nav__item::after, + .nav__item.selected::after, + nav.hovering .nav__item:hover::after, + nav .btn, + .social-links, + .footer { + display: none; + } + .nav__item__with__subs .nav__item:first-of-type, + .nav__item .nav__item { + padding: 0; + } + .nav__sub__item { + margin-left: 2rem; + line-height: 2.2rem; + } + .right { + margin: 0; + min-height: auto; + } +} +@media only screen and (max-width: 460px) { + body { + font-size: 1.2rem; + } + h1 { + font-size: 3.6rem; + } + h2, + h3, + h4 { + font-size: 1.6rem; + } + .logo { + width: 21.667rem; + height: auto; + } + .desc-item, + .desc-item:first-of-type { + margin-bottom: 2rem; + } + .grid__item { + width: 96% !important; + position: relative !important; + float: left !important; + top: auto !important; + left: auto !important; + margin-bottom: 2rem; + } + .btn-group a { + min-width: 0; + padding: 0 1rem; + } + .hero { + margin-bottom: 0; + } + .feature-list li { + line-height: 2.2rem; + } + .feature-list li:before { + height: 2rem; + width: 2rem; + } +} +@media only screen and (max-width: 390px) { + .hero__cta { + flex-direction: column; + } + .hero__cta .btn { + width: 100%; + } + .hero__cta .btn:first-of-type { + margin-right: 0; + } +} +.customer__cards { + display: flex; + height: 30rem; + max-width: 92rem; +} +.customer_cards_2 { + margin-top: 4.2rem; + display: flex; + height: 40rem; + max-width: 92rem; +} +.customer__card { + flex: 1; + margin-right: 2rem; + border-radius: .4rem; + display: flex; + flex-direction: column; + align-items: left; + text-align: justify; +} +.customer-right { + margin-right: 0rem; +} +.customer__card__icon { + align-items: center; + border: 1px solid #888; + border-radius: 4px; + display: flex; + height: 80px; + justify-content: center; + width: 268px; +} +.green_card { + background-color: #00b900; +} +.customer__card__label { + color: #000000; + margin-top: 2.4rem; + display: flex; +} +/* Streams page - adding video & cusomter logos*/ + +.sticky-top .active-menu-item { + width: 108px; + height: 2px; + border-bottom: solid 4px #000000; + color: #000!important; + padding-bottom: 7px; +} +.sticky-top a { + color: #8c8888; + margin-top: 16px; + height: 28px; + font-family: Roboto; + font-size: 15px; + line-height: 1.87; + text-align: left; + margin-right: 30px; + text-transform: uppercase; +} +.sticky-top { + white-space: nowrap; + overflow-y: hidden; + -webkit-overflow-scrolling: touch; +} +.video__series__grid { + width: 92%; + display: -webkit-flex; + /* Safari */ + + display: flex; + margin-bottom: 60px; + /*flex-direction: row;*/ +} +.video-list li { + display: list-item; + font-family: Roboto; + font-size: 15px; + line-height: 2.67; + text-align: left; + color: #d8d8d8; + text-transform: capitalize; +} +.video-list .active { + color: #000; +} +.video-list .active:before { + background-color: #000; + border: solid 2px #000; +} +ul.video-list { + list-style-type: none; + /* Setup the counter. */ + + counter-reset: num; + padding-left: 0px; +} +.video-list { + margin-bottom: 1rem; +} +.video-list li:before { + /* Advance the number. */ + + counter-increment: num; + /* Use the counter number as content. */ + + content: counter(num); + color: #fff; + background-color: #d8d8d8; + width: 50px; + border-radius: 50%; + padding: 5px 10px; + margin-right: .8rem; +} +.grid__item__customer__description { + margin: 0 2rem 2.2rem; + padding-top: 0rem; +} +.stream__text { + margin-top: 5.2rem; + margin-bottom: 3.2rem; +} +.video__block h3 { + font-size: 15px; + line-height: 1.87; + font-family: Roboto; +} +.video__block { + padding-left: 42px; +} +.streams_intro { + margin-top: 42px; + margin-bottom: 15px; +} +.streams__description { + font-family: Roboto; + font-size: 15px; + line-height: 1.87; + text-align: justify; + color: #000000; + margin-bottom: 54px; + max-width: 91rem; +} +.separator { + width: 920px; + margin-right: 153px; +} +.customers__grid * { + box-sizing: border-box; +} +.customer__grid { + margin: 0; + padding-bottom: 20px; +} +.customer__item { + border-radius: 10px; + overflow: hidden; + padding: 0px; + width: 100%; +} +.streams_logo_grid { + border: solid 1px #888888; +} +.streams__ny__grid, +.streams__line__grid, +.streams__rabobank__grid, +.streams__zalando__grid { + height: auto; +} +.grid__logo__link { + display: block; + height: 8rem; + margin-bottom: 2rem; + text-align: center; + padding-top: 2rem; +} +.navbar-fixed { + position: fixed; + background-color: #fff; + color: #fff; + margin-top: 0px; + padding: 10px 0px 20px; + /*width: 92rem;*/ + + z-index: 1000; + top: 0px; + overflow: auto; + width: 95%; +} +@media only screen and (max-width: 650px) { + .navbar-fixed { + position: fixed!important; + background-color: #fff; + color: #fff; + margin-top: 0px; + padding: 10px 0px 20px; + /*width: 92rem;*/ + + z-index: 1000; + top: 0px; + left: 0; + z-index: 1; + width: 100%; + } + +} +.yt_series { + display: none; + width: 420px; + height: 315px; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + " + border: none; +} +.video__series_grid .active { + display: block; +} +.first__app__btn { + background-color: #0B6D88; + color: #FFFFFF; + border-radius: .2rem; + -moz-border-radius: .2rem; + -webkit-border-radius: .2rem; + text-align: center; + text-transform: capitalize; + padding: .9rem 2rem; + box-sizing: border-box; +} +.first__app__btn:hover { + background-color: #888888; + border-color: #888888; + color: #FFFFFF; +} +/* Doc landing page */ + +.use-item-section { + margin: 2.2rem 0 3.8rem; + display: flex; + justify-content: flex-start; +} +.use__list__sec { + max-width: 50rem; +} +.first__app__cta { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + flex-basis: 25rem; + flex-shrink: 0; + padding-bottom: 4rem; +} +.first__app__cta .first__app__btn { + height: 5.8rem; + width: 25rem; + font-size: 2rem; + font-weight: 700; + margin-top: 1rem; +} +.use-feature-list { + list-style: none; + padding: 0; + display: block; + overflow: hidden; + padding-left: 1.5rem; +} +.use-feature-list li { + float: left; + line-height: 3rem; + margin-bottom: 1rem; +} +.use-feature-list li::before { + content: ''; + display: block; + height: 2.8rem; + width: 2.8rem; + border: .2rem solid; + border-radius: 2rem; + float: left; + margin-right: .8rem; + background-image: url('/images/icons/check.png'); + background-size: contain; +} +.number { + background-color: #d8d8d8; + color: #fff; + width: 50px; + border-radius: 50%; + padding: 5px 10px; + margin-right: .8rem; +} +.video__text { + font-family: Roboto; + font-size: 15px; + line-height: 2.67; + text-align: left; + color: #d8d8d8; + text-transform: capitalize; +} +.video__list .active .number { + background-color: #000; + color: #fff; +} +.video__list .active .video__text { + color: #000; +} +.video__item { + margin: 0px; +} +.yt__video__block { + -webkit-flex: 1; + /* Safari 6.1+ */ + + -ms-flex: 1; + /* IE 10 */ + + flex: 1; +} +.yt__video__inner__block { + position: relative; + padding-bottom: 56.25%; + padding-top: 0px; + height: 0; + overflow: hidden; +} +.extra__space{ + padding-bottom:2.8rem; +} + +/* Responsive styles */ + +@media only screen and (max-width: 1125px) { + .use-item-section { + justify-content: flex-start; + } + .use__list__sec { + max-width: 42rem; + margin-right: 4rem; + } + .use-feature-list li { + width: 100%; + } + .extra__space{ + padding-bottom:0rem; + } +} +@media only screen and (max-width: 950px) { + .use-item-section { + flex-direction: column-reverse; + margin: 0rem; + } + .use__list__sec { + margin: 0; + text-align: center; + max-width: 100%; + } + .use-feature-list li::before { + content: none; + } + .first__app__cta { + flex-direction: row; + justify-content: center; + flex-basis: inherit; + margin-top: 4rem; + } + .first__app__cta .first__app_btn:first-of-type { + margin-right: 1rem; + } +} +@media only screen and (max-width: 800px) { + .first__app__cta .first__app_btn { + font-size: 1.5rem; + font-weight: 400; + height: auto; + } +} +@media only screen and (max-width: 460px) { + .use-item-section { + margin-bottom: 0; + } + .use-feature-list li { + line-height: 2.2rem; + } + .use-feature-list li:before { + height: 2rem; + width: 2rem; + } +} +@media only screen and (max-width: 390px) { + .first__app__cta { + flex-direction: column; + } + .first__app__cta .first__app_btn { + width: 100%; + } + .first__app__cta .first__app_btn:first-of-type { + margin-right: 0; + } +} +@media only screen and (max-width: 1125px) { + .video__text { + display: none; + } + .video__list { + margin: 0 auto; + width: 200px; + padding-top: 20px; + text-align: center; + } + .video__item { + display: inline-block; + } + iframe { + width: 100%; + } + .sticky-top{ + overflow-x:scroll; + } +} +@media only screen and (min-width: 1126px) { + .customers__grid { + -webkit-column-count: 2; + -moz-column-count: 2; + column-count: 2; + max-width: 92rem; + } + .sticky-top{ + overflow-x:hidden; + } +} +@media only screen and (max-width: 1125px) { + .video__block h3 { + display: none; + } + .video-list { + display: none; + } +} \ No newline at end of file diff --git a/doc/kafka-100-doc-zh/css/syntax-highlighting.css b/doc/kafka-100-doc-zh/css/syntax-highlighting.css new file mode 100644 index 0000000000000000000000000000000000000000..45dfba1f88e7522b34732a397d2389d094c1d208 --- /dev/null +++ b/doc/kafka-100-doc-zh/css/syntax-highlighting.css @@ -0,0 +1,278 @@ +/** + * Emulates Apple Swift documentation syntax highlighting + * Contributed by Nate Cook + * http://natecook.com + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1.4rem !important; + min-height: inherit !important; + min-height: auto !important; } + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; } + .syntaxhighlighter .container:before, .syntaxhighlighter .container:after { + content: none !important; } + .syntaxhighlighter.source { + overflow: hidden !important; } + .syntaxhighlighter .bold { + font-weight: bold !important; } + .syntaxhighlighter .italic { + font-style: italic !important; } + .syntaxhighlighter .line { + white-space: pre !important; } + .syntaxhighlighter table { + width: 100% !important; } + .syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; } + .syntaxhighlighter table td.code { + width: 100% !important; } + .syntaxhighlighter table td.code .container { + position: relative !important; } + .syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; } + .syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; } + .syntaxhighlighter table td.code .line { + padding: 0 1em !important; } + .syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; } + .syntaxhighlighter.show { + display: block !important; } + .syntaxhighlighter.collapsed table { + display: none !important; } + .syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; } + .syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; } + .syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; } + .syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; } + .syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; } + .syntaxhighlighter .toolbar span.title { + display: inline !important; } + .syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; } + .syntaxhighlighter .toolbar a.expandSource { + display: none !important; } + .syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; } + .syntaxhighlighter.ie .toolbar { + line-height: 8px !important; } + .syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; } + .syntaxhighlighter.printing .line.alt1 .content, + .syntaxhighlighter.printing .line.alt2 .content, + .syntaxhighlighter.printing .line.highlighted .number, + .syntaxhighlighter.printing .line.highlighted.alt1 .content, + .syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; } + .syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; } + .syntaxhighlighter.printing .line .content { + color: black !important; } + .syntaxhighlighter.printing .toolbar { + display: none !important; } + .syntaxhighlighter.printing a { + text-decoration: none !important; } + .syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; } + .syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; } + .syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; } + .syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; } + .syntaxhighlighter.printing .preprocessor { + color: gray !important; } + .syntaxhighlighter.printing .variable { + color: #aa7700 !important; } + .syntaxhighlighter.printing .value { + color: #009900 !important; } + .syntaxhighlighter.printing .functions { + color: #ff1493 !important; } + .syntaxhighlighter.printing .constants { + color: #0066cc !important; } + .syntaxhighlighter.printing .script { + font-weight: bold !important; } + .syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; } + .syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; } + .syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; } + .syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; } + +.syntaxhighlighter { + background-color: white !important; } + .syntaxhighlighter .line.alt1 { + background-color: white !important; } + .syntaxhighlighter .line.alt2 { + background-color: white !important; } + .syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #e9e9e9 !important; } + .syntaxhighlighter .line.highlighted.number { + color: white !important; } + .syntaxhighlighter table caption { + color: #353535 !important; } + .syntaxhighlighter table td.code .container textarea { + background: white; + color: black; } + .syntaxhighlighter .gutter { + color: gray !important; } + .syntaxhighlighter .gutter .line { + border-right: none !important; } + .syntaxhighlighter .gutter .line.highlighted { + background-color: #6ce26c !important; + color: white !important; } + .syntaxhighlighter.printing .line .content { + border: none !important; } + .syntaxhighlighter.collapsed { + overflow: visible !important; } + .syntaxhighlighter.collapsed .toolbar { + color: #00f !important; + background: #fff !important; + border: 1px solid #6ce26c !important; } + .syntaxhighlighter.collapsed .toolbar a { + color: #00f !important; } + .syntaxhighlighter.collapsed .toolbar a:hover { + color: #f00 !important; } + .syntaxhighlighter .toolbar { + color: #fff !important; + background: #6ce26c !important; + border: none !important; } + .syntaxhighlighter .toolbar a { + color: #fff !important; } + .syntaxhighlighter .toolbar a:hover { + color: #000 !important; } + .syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: black !important; } + .syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #008312 !important; } + .syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #c41a16 !important; } + .syntaxhighlighter .keyword { + font-weight: bold !important; + color: #b833a1 !important; } + .syntaxhighlighter .preprocessor { + color: gray !important; } + .syntaxhighlighter .variable { + color: #508187 !important; } + .syntaxhighlighter .value { + color: #1c00cf !important; } + .syntaxhighlighter .functions { + color: #ff1493 !important; } + .syntaxhighlighter .constants { + color: #0066cc !important; } + .syntaxhighlighter .script { + font-weight: bold !important; + color: #b833a1 !important; + background-color: none !important; } + .syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #b833a1 !important; } + .syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #6f41a7 !important; } + .syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: red !important; } + +.syntaxhighlighter { + font-size: 0.75em !important; } + .syntaxhighlighter a, + .syntaxhighlighter div, + .syntaxhighlighter code, + .syntaxhighlighter table, + .syntaxhighlighter table td, + .syntaxhighlighter table tr, + .syntaxhighlighter table tbody, + .syntaxhighlighter table thead, + .syntaxhighlighter table caption, + .syntaxhighlighter textarea { + font-family: Menlo, Consolas, monospace !important; } + .syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0.2em 0.5em !important; } + .syntaxhighlighter table td.code .line { + padding: 0.2em 1em !important; } + .syntaxhighlighter table td.code .container textarea { + padding-top: 0.1em !important; + line-height: 1.48em !important; } + .syntaxhighlighter .gutter .line { + background: #f9f9f9 !important; } + .syntaxhighlighter .gutter .line.highlighted { + background-color: #898989 !important; + color: white !important; } + +@media only screen and (max-width: 800px) { + .syntaxhighlighter a, .syntaxhighlighter div, .syntaxhighlighter code, .syntaxhighlighter table, .syntaxhighlighter table td, .syntaxhighlighter table tr, .syntaxhighlighter table tbody, .syntaxhighlighter table thead, .syntaxhighlighter table caption, .syntaxhighlighter textarea + { + + font-size:1.2rem!important; + } + } diff --git a/doc/kafka-100-doc-zh/diagrams/consumer-groups.graffle b/doc/kafka-100-doc-zh/diagrams/consumer-groups.graffle new file mode 100644 index 0000000000000000000000000000000000000000..3b001d27e70f55bc0dffddf96bd10f12887d05da --- /dev/null +++ b/doc/kafka-100-doc-zh/diagrams/consumer-groups.graffle @@ -0,0 +1,1255 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro.MacAppStore + 139.16 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {576, 733}} + Class + SolidGraphic + FontInfo + + Font + Helvetica + Size + 13 + + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-07-01 18:13:29 +0000 + Creator + Jay Kreps + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{370.5, 144.5}, {35.75, 33}} + Class + ShapedGraphic + ID + 50 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 C6} + + + + Class + LineGraphic + Head + + ID + 50 + Info + 2 + + ID + 49 + Points + + {320.875, 89} + {388.375, 144.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 24 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 38 + Info + 2 + + ID + 48 + Points + + {290.625, 89} + {348.375, 144.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 23 + + + + Class + LineGraphic + Head + + ID + 37 + Info + 2 + + ID + 47 + Points + + {243.125, 89} + {308.375, 144.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 22 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 36 + Info + 2 + + ID + 46 + Points + + {212.5, 89} + {268.375, 144.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 7 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 33 + Info + 2 + + ID + 42 + Points + + {320.875, 89} + {196.5, 143.75} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 24 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 33 + Info + 2 + + ID + 41 + Points + + {290.625, 89} + {196.5, 143.75} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 23 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 31 + Info + 2 + + ID + 40 + Points + + {243.125, 89} + {151.25, 143.25} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 22 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 31 + Info + 2 + + ID + 39 + Points + + {212.5, 89} + {151.25, 143.25} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 7 + + + + Bounds + {{330.5, 144.5}, {35.75, 33}} + Class + ShapedGraphic + ID + 38 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 C5} + + + + Bounds + {{290.5, 144.5}, {35.75, 33}} + Class + ShapedGraphic + ID + 37 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 C4} + + + + Bounds + {{250.5, 144.5}, {35.75, 33}} + Class + ShapedGraphic + ID + 36 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 C3} + + + + Bounds + {{276.5, 179.5}, {104, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 35 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Consumer Group B} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{245.75, 135}, {165.5, 52}} + Class + ShapedGraphic + ID + 34 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + + + Bounds + {{178.625, 143.75}, {35.75, 33}} + Class + ShapedGraphic + ID + 33 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 C2} + + + + Bounds + {{133.375, 143.25}, {35.75, 33}} + Class + ShapedGraphic + ID + 31 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 C1} + + + + Bounds + {{122.25, 179.5}, {103, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 30 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Consumer Group A} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{118, 135}, {111.75, 52}} + Class + ShapedGraphic + ID + 29 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + + + Bounds + {{235.75, 44}, {73, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 28 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Kafka Cluster} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{308.25, 75}, {25.25, 14}} + Class + ShapedGraphic + ID + 24 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 P2} + + + + Bounds + {{278, 75}, {25.25, 14}} + Class + ShapedGraphic + ID + 23 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 P1} + + + + Bounds + {{230.5, 75}, {25.25, 14}} + Class + ShapedGraphic + ID + 22 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 P3} + + + + Bounds + {{281.25, 58}, {46, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 11 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Server 2} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{271.75, 64}, {65, 33}} + Class + ShapedGraphic + ID + 10 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + + + Bounds + {{199.5, 75}, {26, 14}} + Class + ShapedGraphic + ID + 7 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 P0} + + + + Bounds + {{203.5, 58}, {46, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 5 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Server 1} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{194, 64}, {65, 33}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + + + Bounds + {{184.25, 52}, {160.75, 52}} + Class + ShapedGraphic + ID + 27 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-07-01 18:41:48 +0000 + Modifier + Jay Kreps + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {612, 792} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{28, 4}, {1416, 1024}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{-353, -76}, {1281, 885}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 4 + + + + + diff --git a/doc/kafka-100-doc-zh/diagrams/kafka-apis.graffle b/doc/kafka-100-doc-zh/diagrams/kafka-apis.graffle new file mode 100644 index 0000000000000000000000000000000000000000..b30e02caaf70b52ec9e780391401b78a189a294e --- /dev/null +++ b/doc/kafka-100-doc-zh/diagrams/kafka-apis.graffle @@ -0,0 +1,1110 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro.MacAppStore + 139.18 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {575.99999904632568, 733}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2016-09-18 22:13:16 +0000 + Creator + Jay Kreps + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{78, 123.5}, {93, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 39 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Connectors} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 3 + + ID + 38 + Points + + {145.00000000000003, 162} + {186.52861685657061, 147.31142169060203} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 37 + Info + 3 + + + + Bounds + {{112, 149}, {33, 26}} + Class + ShapedGraphic + ID + 37 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs20 \cf0 DB} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 36 + Points + + {145.00000000000003, 107} + {186.52861685657061, 121.68857830939795} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 32 + + + + Bounds + {{301, 82}, {33, 26}} + Class + ShapedGraphic + ID + 34 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 App} + + + + Bounds + {{112, 94}, {33, 26}} + Class + ShapedGraphic + ID + 32 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs20 \cf0 DB} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 28 + + ID + 30 + Points + + {258.96150406550811, 149.59572270009133} + {300.5385127879515, 166.92819785047075} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 3 + + + + Class + LineGraphic + Head + + ID + 34 + + ID + 29 + Points + + {258.96150409778352, 119.40427606867942} + {300.5385051649323, 102.07180271139856} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 3 + + + + Bounds + {{301.00000762939453, 161}, {33, 26}} + Class + ShapedGraphic + ID + 28 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 App} + + + + Class + LineGraphic + Head + + ID + 20 + + ID + 24 + Points + + {236.22147872836243, 156.92862580761943} + {262.43495377161844, 200.57136427141887} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 3 + + + + Class + LineGraphic + Head + + ID + 19 + + ID + 23 + Points + + {222.25492326187467, 156.99987899421302} + {221.29776441595905, 200.50012158870555} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 3 + + + + Class + LineGraphic + Head + + ID + 18 + + ID + 22 + Points + + {208.29689246177904, 156.92024706926287} + {180.15198951398432, 200.57976293194312} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 3 + + + + Bounds + {{174.49999523162842, 233}, {93, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 21 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Consumers} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{253.99999523162842, 201}, {33, 26}} + Class + ShapedGraphic + ID + 20 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 App} + + + + Bounds + {{204.49999523162842, 201}, {33, 26}} + Class + ShapedGraphic + ID + 19 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 App} + + + + Bounds + {{154.99999523162842, 201}, {33, 26}} + Class + ShapedGraphic + ID + 18 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 App} + + + + Bounds + {{175.5, 14}, {83, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 10 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Producers} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 3 + + ID + 9 + Points + + {262.43494503420419, 68.428635760080908} + {236.22375129446422, 112.07139343455155} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 6 + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 8 + Points + + {221.29775570691717, 68.499878411294432} + {222.25725389715987, 112.00011985831509} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 5 + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 7 + Points + + {180.15198077496549, 68.420237037779501} + {208.29915798886617, 112.07973349168748} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{253.99998474121094, 42}, {33, 26}} + Class + ShapedGraphic + ID + 6 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 App} + + + + Bounds + {{204.49998474121094, 42}, {33, 26}} + Class + ShapedGraphic + ID + 5 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 App} + + + + Bounds + {{154.99998474121094, 42}, {33, 26}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 App} + + + + Bounds + {{187, 112.5}, {71.5, 44}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 Kafka\ +Cluster} + + + + Bounds + {{277, 112.5}, {91, 44}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 31 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Stream\ +Processors} + VerticalPad + 0 + + Wrap + NO + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2016-09-28 22:54:28 +0000 + Modifier + Jay Kreps + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {611.99999904632568, 792} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{515, 4}, {710, 773}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {561, 616}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff --git a/doc/kafka-100-doc-zh/diagrams/kafka_multidc_complex.graffle b/doc/kafka-100-doc-zh/diagrams/kafka_multidc_complex.graffle new file mode 100644 index 0000000000000000000000000000000000000000..43ba999c4850ef70a8de6219846f3dc729e19757 --- /dev/null +++ b/doc/kafka-100-doc-zh/diagrams/kafka_multidc_complex.graffle @@ -0,0 +1,1304 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro.MacAppStore + 139.17 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {576.00002479553223, 733}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-07-15 17:34:05 +0000 + Creator + Jay Kreps + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{366.53933715820312, 249.5}, {16, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 41 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 ...} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{271.5, 107}, {16, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 40 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 ...} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 39 + Points + + {432.50000746135242, 117.49975891733683} + {433.17653962866046, 148.25} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{404, 148.25}, {60.539337158203125, 22}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 38 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 consumers} + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 36 + + ID + 37 + Points + + {351.34101087932117, 116.99987902668616} + {352.01754304662921, 147.75012010934933} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 15 + + + + Bounds + {{322, 148.25}, {60.539337158203125, 22}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 36 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 consumers} + + + + Bounds + {{174.8426513671875, 148.25}, {60.539337158203125, 22}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 23 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 consumers} + + + + Bounds + {{200.96067523956299, 307}, {155, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica-Light + Size + 12 + + ID + 35 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Offline Datacenters} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{209.96066284179688, 37}, {137, 22}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica-Light + Size + 12 + + ID + 34 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 Live Datacenters} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 32 + + ID + 33 + Points + + {278.4606552931246, 247.5} + {278.4606552931246, 269.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 27 + + + + Bounds + {{228.96066951751709, 270}, {98.999992370605469, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 32 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 Consumers} + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 27 + + ID + 31 + Points + + {342.41893301785541, 116.93701919184541} + {287.03927809790036, 216.56295121358394} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 15 + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 27 + + ID + 30 + Points + + {213.78815699666589, 116.93587028846694} + {269.7849047911601, 216.56412869314366} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Bounds + {{249.46065711975098, 217}, {58, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 27 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 Kafka\ +(global)} + + + + Bounds + {{196.46065711975098, 202}, {164, 117}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 26 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 22 + + ID + 25 + Points + + {128.00414629185991, 116.99987076226282} + {128.70345016686863, 147.75008970409041} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 11 + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 23 + + ID + 24 + Points + + {205.12266860376496, 116.99999987621291} + {205.14319900633495, 147.7500018000473} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Bounds + {{98.651657104492188, 148.25}, {60.539337158203125, 22}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 22 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 consumers} + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 12 + + ID + 20 + Points + + {403.52760826473161, 91.277593857587092} + {322, 63} + {234.58722236747386, 91.791673658899114} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 16 + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 15 + + ID + 19 + Points + + {157.1246311829149, 91.395201427958057} + {234.11231994628906, 65} + {321.52272818044793, 92.295262418423789} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 11 + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 16 + + ID + 17 + Points + + {380.5, 101.50001494818186} + {403.5, 101.50001494818186} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 15 + + + + Bounds + {{404, 86.5}, {58, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 16 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 Kafka\ +(local)} + + + + Bounds + {{322, 86.5}, {58, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 15 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 Kafka\ +(global)} + + + + Bounds + {{294.00000000000023, 48}, {178, 131}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 14 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + Head + + ID + 12 + + ID + 13 + Points + + {157.15165710449219, 101.50001306648814} + {175.61231994628906, 101.50001306648814} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 11 + + + + Bounds + {{176.11231994628906, 86.5}, {58, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 12 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 Kafka\ +(global)} + + + + Bounds + {{98.651657104492188, 86.5}, {58, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 11 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 Kafka\ +(local)} + + + + Bounds + {{87.000000000000114, 48}, {178, 131}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 10 + + ID + 1 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-07-15 17:46:46 +0000 + Modifier + Jay Kreps + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {612.00002479553223, 792} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{430, 1}, {711, 872}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {576, 733}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff --git a/doc/kafka-100-doc-zh/diagrams/kafka_multidc_simple b/doc/kafka-100-doc-zh/diagrams/kafka_multidc_simple new file mode 100644 index 0000000000000000000000000000000000000000..0583fdfbf7e201ff015da64c42be3662844692a8 --- /dev/null +++ b/doc/kafka-100-doc-zh/diagrams/kafka_multidc_simple @@ -0,0 +1,1255 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 129.15 + + AutoAdjust + + CanvasColor + + w + 1 + + CanvasOrigin + {0, 0} + CanvasScale + 1 + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2009-08-20 12:08:05 -0700 + Creator + Jay Kreps + DisplayScale + 1 in = 1 in + GraphDocumentVersion + 5 + GraphicsList + + + Bounds + {{162.96, 186.798}, {58, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 63 + Line + + ID + 54 + Position + 0.51118338108062744 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Mirroring} + + + + Bounds + {{277.003, 186.831}, {58, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 61 + Line + + ID + 55 + Position + 0.51177757978439331 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Mirroring} + + + + Class + LineGraphic + Head + + ID + 58 + + ID + 60 + Points + + {260.682, 266.796} + {273.466, 291.905} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 53 + + + + Class + LineGraphic + Head + + ID + 56 + + ID + 59 + Points + + {236.392, 266.789} + {222.582, 291.912} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 53 + + + + Bounds + {{260.44, 292.351}, {54, 54}} + Class + ShapedGraphic + ID + 58 + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientColor + + b + 0.913601 + g + 0.92053 + r + 0.826024 + + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Prod Hadoop Cluster} + + + + Bounds + {{180.5, 292.351}, {54, 54}} + Class + ShapedGraphic + ID + 56 + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientColor + + b + 0.913601 + g + 0.92053 + r + 0.826024 + + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Dev Hadoop Cluster} + + + + Class + LineGraphic + Head + + ID + 53 + + ID + 55 + Points + + {338.483, 165.33} + {275.017, 221.021} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 44 + + + + Class + LineGraphic + Head + + ID + 53 + + ID + 54 + Points + + {159.517, 165.33} + {222.983, 221.021} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 3 + + + + Bounds + {{209.5, 221.351}, {79, 45}} + Class + ShapedGraphic + ID + 53 + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientColor + + b + 0.816348 + g + 0.99705 + r + 1 + + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Aggregate Kafka Cluster} + + + + Bounds + {{200.5, 355.351}, {107, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 52 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Offline Datacenter} + + Wrap + NO + + + Bounds + {{167.5, 211.351}, {163, 166}} + Class + ShapedGraphic + ID + 51 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Pattern + 1 + + + + + Bounds + {{238.5, 78.5}, {21, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 50 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 ...} + + Wrap + NO + + + Bounds + {{317, 19}, {95, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 49 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Live Datacenter} + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 44 + + ID + 48 + Points + + {391.785, 76.4621} + {373.987, 119.538} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 46 + + + + Class + LineGraphic + Head + + ID + 44 + + ID + 47 + Points + + {331.672, 76.4477} + {353.095, 119.552} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 45 + + + + Bounds + {{369, 42}, {60, 34}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Style + + fill + + Color + + b + 0.909184 + g + 1 + r + 0.87182 + + FillType + 3 + GradientColor + + b + 0.909184 + g + 1 + r + 0.87182 + + MiddleFraction + 0.4841269850730896 + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Producer} + + + + Bounds + {{293, 42}, {60, 34}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Style + + fill + + Color + + b + 0.909184 + g + 1 + r + 0.87182 + + FillType + 3 + GradientColor + + b + 0.909184 + g + 1 + r + 0.87182 + + MiddleFraction + 0.4841269850730896 + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Producer} + + + + Bounds + {{325, 120}, {79, 45}} + Class + ShapedGraphic + ID + 44 + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientColor + + b + 0.816348 + g + 0.99705 + r + 1 + + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Local Kafka Cluster} + + + + Bounds + {{283, 12}, {163, 166}} + Class + ShapedGraphic + ID + 43 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Pattern + 1 + + + + + Bounds + {{86, 19}, {95, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 42 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Live Datacenter} + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 3 + + ID + 41 + Points + + {160.785, 76.4621} + {142.987, 119.538} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 39 + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 40 + Points + + {100.672, 76.4477} + {122.095, 119.552} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 38 + + + + Bounds + {{138, 42}, {60, 34}} + Class + ShapedGraphic + ID + 39 + Shape + Rectangle + Style + + fill + + Color + + b + 0.909184 + g + 1 + r + 0.87182 + + FillType + 3 + GradientColor + + b + 0.909184 + g + 1 + r + 0.87182 + + MiddleFraction + 0.4841269850730896 + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Producer} + + + + Bounds + {{62, 42}, {60, 34}} + Class + ShapedGraphic + ID + 38 + Shape + Rectangle + Style + + fill + + Color + + b + 0.909184 + g + 1 + r + 0.87182 + + FillType + 3 + GradientColor + + b + 0.909184 + g + 1 + r + 0.87182 + + MiddleFraction + 0.4841269850730896 + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Producer} + + + + Bounds + {{94, 120}, {79, 45}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Style + + fill + + FillType + 3 + GradientColor + + b + 0.816348 + g + 0.99705 + r + 1 + + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Local Kafka Cluster} + + + + Bounds + {{52, 12}, {163, 166}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Pattern + 1 + + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + LinksVisible + NO + MagnetsVisible + NO + MasterSheet + Master 1 + MasterSheets + + + ActiveLayerIndex + 0 + AutoAdjust + + CanvasColor + + w + 1 + + CanvasOrigin + {0, 0} + CanvasScale + 1 + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 in = 1 in + GraphicsList + + GridInfo + + HPages + 1 + IsPalette + NO + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Orientation + 2 + OutlineStyle + Basic + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Master 1 + UniqueID + 1 + VPages + 1 + + + ModificationDate + 2012-01-03 12:59:44 -0800 + Modifier + Jay Kreps + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + OutlineStyle + Basic + PageBreaks + YES + PrintInfo + + NSBottomMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSLeftMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSPaperSize + + size + {612, 792} + + NSRightMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSTopMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + DrawerTab + Outline + DrawerWidth + 209 + Frame + {{577, -18}, {594, 842}} + VisibleRegion + {{0, 0}, {579, 728}} + Zoom + 1 + + + diff --git a/doc/kafka-100-doc-zh/diagrams/kafka_multidc_simple.graffle b/doc/kafka-100-doc-zh/diagrams/kafka_multidc_simple.graffle new file mode 100644 index 0000000000000000000000000000000000000000..a25dc6d83645ce317bc87ca43286c504ed14d5f9 Binary files /dev/null and b/doc/kafka-100-doc-zh/diagrams/kafka_multidc_simple.graffle differ diff --git a/doc/kafka-100-doc-zh/diagrams/log_anatomy.graffle b/doc/kafka-100-doc-zh/diagrams/log_anatomy.graffle new file mode 100644 index 0000000000000000000000000000000000000000..d37f9f264c3796082bdf65b97c9b19abc8daf694 --- /dev/null +++ b/doc/kafka-100-doc-zh/diagrams/log_anatomy.graffle @@ -0,0 +1,2758 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro.MacAppStore + 139.16 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {576, 733}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-06-28 19:53:56 +0000 + Creator + Jay Kreps + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{470, 168.5}, {34, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 59 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Writes} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 58 + Points + + {470, 176} + {396.5, 232} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 57 + + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 57 + Points + + {470, 176} + {343, 175} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 55 + Points + + {470, 175} + {387.5, 120} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{384, 269}, {35, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 54 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 New} + + Wrap + NO + + + Bounds + {{119.99999868124723, 269}, {29, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 53 + Line + + ID + 52 + Position + 0.038910500705242157 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Old} + + Wrap + NO + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 52 + Points + + {124.5, 281} + {381.5, 281} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{110, 222.5}, {45, 28}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 50 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Partition\ +2} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{110, 163.5}, {45, 28}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 49 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Partition\ +1} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{367.00000000000034, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 48 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 12} + VerticalPad + 0 + + + + Bounds + {{350.00000000000023, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 47 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 11} + VerticalPad + 0 + + + + Bounds + {{332.99999999999966, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 46 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 10} + VerticalPad + 0 + + + + Bounds + {{316.00000000000034, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 45 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 9} + VerticalPad + 0 + + + + Bounds + {{299.00000000000011, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 44 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 8} + VerticalPad + 0 + + + + Bounds + {{282, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 43 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 7} + VerticalPad + 0 + + + + Bounds + {{264.99999999999989, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 42 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 6} + VerticalPad + 0 + + + + Bounds + {{247.99999999999989, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 41 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 5} + VerticalPad + 0 + + + + Bounds + {{231.00000000000023, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 40 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 4} + VerticalPad + 0 + + + + Bounds + {{213.99999999999989, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 39 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 3} + VerticalPad + 0 + + + + Bounds + {{197.00000000000011, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 38 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 2} + VerticalPad + 0 + + + + Bounds + {{180.00000000000011, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 37 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 1} + VerticalPad + 0 + + + + Bounds + {{163, 214}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 36 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 0} + VerticalPad + 0 + + + + Bounds + {{316.00000000000034, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 35 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 9} + VerticalPad + 0 + + + + Bounds + {{299.00000000000011, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 31 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 8} + VerticalPad + 0 + + + + Bounds + {{282, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 30 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 7} + VerticalPad + 0 + + + + Bounds + {{264.99999999999989, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 29 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 6} + VerticalPad + 0 + + + + Bounds + {{247.99999999999989, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 28 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 5} + VerticalPad + 0 + + + + Bounds + {{231.00000000000023, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 27 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 4} + VerticalPad + 0 + + + + Bounds + {{213.99999999999989, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 26 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 3} + VerticalPad + 0 + + + + Bounds + {{197.00000000000011, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 25 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 2} + VerticalPad + 0 + + + + Bounds + {{180.00000000000011, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 24 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 1} + VerticalPad + 0 + + + + Bounds + {{163, 155}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 23 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 0} + VerticalPad + 0 + + + + Bounds + {{106, 100}, {45, 28}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 22 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Partition\ +0} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{154.5, 44.5}, {204, 29}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 21 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs48 \cf0 Anatomy of a Topic} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{367.00000000000034, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 20 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 12} + VerticalPad + 0 + + + + Bounds + {{350.00000000000023, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 16 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 11} + VerticalPad + 0 + + + + Bounds + {{332.99999999999966, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 15 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 10} + VerticalPad + 0 + + + + Bounds + {{316.00000000000034, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 14 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 9} + VerticalPad + 0 + + + + Bounds + {{299.00000000000011, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 12 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 8} + VerticalPad + 0 + + + + Bounds + {{282, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 11 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 7} + VerticalPad + 0 + + + + Bounds + {{264.99999999999989, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 10 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 6} + VerticalPad + 0 + + + + Bounds + {{247.99999999999989, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 9 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 5} + VerticalPad + 0 + + + + Bounds + {{231.00000000000023, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 8 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 4} + VerticalPad + 0 + + + + Bounds + {{213.99999999999989, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 7 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 3} + VerticalPad + 0 + + + + Bounds + {{197.00000000000011, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 6 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 2} + VerticalPad + 0 + + + + Bounds + {{180.00000000000011, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 5 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 1} + VerticalPad + 0 + + + + Bounds + {{163, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 4 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 0} + VerticalPad + 0 + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-06-28 19:59:11 +0000 + Modifier + Jay Kreps + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {612, 792} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{545, 96}, {710, 872}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {575, 733}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff --git a/doc/kafka-100-doc-zh/diagrams/log_compaction.graffle b/doc/kafka-100-doc-zh/diagrams/log_compaction.graffle new file mode 100644 index 0000000000000000000000000000000000000000..a86dc66af35f6812aff919520caf8593842764da --- /dev/null +++ b/doc/kafka-100-doc-zh/diagrams/log_compaction.graffle @@ -0,0 +1,3052 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro.MacAppStore + 139.16 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {576, 733}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-09-30 23:34:42 +0000 + Creator + Jay Kreps + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{330, 236.9999994635582}, {77, 53}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 14 + + ID + 91 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Pad + 1 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs28 \cf0 Log\ +After\ +Compaction} + VerticalPad + 1 + + Wrap + NO + + + Bounds + {{399, 86.999999463558197}, {77, 53}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 14 + + ID + 90 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Pad + 1 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs28 \cf0 Log\ +Before\ +Compaction} + VerticalPad + 1 + + Wrap + NO + + + Bounds + {{227.5000005364418, 175.9999994635582}, {77, 19}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 14 + + ID + 61 + Line + + ID + 67 + Position + 0.42391303181648254 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 1 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 Compaction} + VerticalPad + 1 + + Wrap + NO + + + Bounds + {{297, 212}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 87 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 10} + + + + Bounds + {{274, 212}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 86 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 9} + + + + Bounds + {{251, 212}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 85 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 8} + + + + Bounds + {{228, 212}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 84 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 6} + + + + Bounds + {{205, 212}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 83 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 4} + + + + Bounds + {{182, 212}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 82 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 3} + + + + Bounds + {{99.5, 70}, {32, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 81 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Offset} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{366, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 80 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 10} + + + + Bounds + {{343, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 79 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 9} + + + + Bounds + {{320, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 78 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 8} + + + + Bounds + {{297, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 77 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 7} + + + + Bounds + {{274, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 76 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 6} + + + + Bounds + {{251, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 75 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 5} + + + + Bounds + {{228, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 74 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 4} + + + + Bounds + {{205, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 73 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 3} + + + + Bounds + {{182, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 72 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 2} + + + + Bounds + {{159, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 71 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 1} + + + + Bounds + {{136, 67}, {23, 20.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 70 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 0} + + + + Class + LineGraphic + Head + + ID + 82 + Info + 2 + + ID + 69 + Points + + {216.5, 166} + {193.5, 212} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 6 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 83 + Info + 2 + + ID + 68 + Points + + {241, 166} + {216.5, 212} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + Head + + ID + 84 + Info + 2 + + ID + 67 + Points + + {285.5, 166} + {239.5, 212} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 9 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 85 + Info + 2 + + ID + 66 + Points + + {331.5, 166} + {262.5, 212} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 11 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 86 + Info + 2 + + ID + 65 + Points + + {354.5, 166} + {285.5, 212} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 12 + Info + 1 + + + + Class + LineGraphic + Head + + ID + 87 + Info + 2 + + ID + 64 + Points + + {377.5, 166} + {308.5, 212} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 13 + Info + 1 + + + + Bounds + {{136, 276}, {36, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 58 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Values} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{145, 240.5}, {27, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 57 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Keys} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{297.5, 232}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 56 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K6} + + + + Bounds + {{274.5, 232}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 55 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K2} + + + + Bounds + {{251.5, 232}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 54 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K5} + + + + Bounds + {{228.5, 232}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 53 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K4} + + + + Bounds + {{205.5, 232}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 52 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K3} + + + + Bounds + {{182.5, 232}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 49 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K1} + + + + Bounds + {{297.5, 261}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 45 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V\ +11} + + + + Bounds + {{274.5, 261}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 44 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V\ +10} + + + + Bounds + {{251.5, 261}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 43 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V9} + + + + Bounds + {{228.5, 261}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 42 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V7} + + + + Bounds + {{205.5, 261}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 41 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V5} + + + + Bounds + {{182.5, 261}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 38 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V4} + + + + Bounds + {{103.5, 130}, {30, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 28 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Value} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{110.5, 94.5}, {21, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 27 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Key} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{366, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 24 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K6} + + + + Bounds + {{343, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 23 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K2} + + + + Bounds + {{320, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 22 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K5} + + + + Bounds + {{297, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 21 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K5} + + + + Bounds + {{274, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 20 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K4} + + + + Bounds + {{251, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 19 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K2} + + + + Bounds + {{228, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 18 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K3} + + + + Bounds + {{205, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 17 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K1} + + + + Bounds + {{182, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 16 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K1} + + + + Bounds + {{159, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 15 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K2} + + + + Bounds + {{136, 87}, {23, 29.000000000000007}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 14 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 K1} + + + + Bounds + {{366, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 13 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V\ +11} + + + + Bounds + {{343, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 12 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V\ +10} + + + + Bounds + {{320, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 11 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V9} + + + + Bounds + {{297, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 10 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V8} + + + + Bounds + {{274, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 9 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V7} + + + + Bounds + {{251, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 8 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V6} + + + + Bounds + {{228, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 7 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V5} + + + + Bounds + {{205, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 6 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V4} + + + + Bounds + {{182, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 5 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V3} + + + + Bounds + {{159, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 4 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V2} + + + + Bounds + {{136, 116}, {23, 50}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 10 + + ID + 3 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 V1} + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-12-18 16:57:08 +0000 + Modifier + Jay Kreps + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {612, 792} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{557, 118}, {710, 872}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {575, 733}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff --git a/doc/kafka-100-doc-zh/diagrams/log_consumer.graffle b/doc/kafka-100-doc-zh/diagrams/log_consumer.graffle new file mode 100644 index 0000000000000000000000000000000000000000..417b01153e731ee3cd8749033b92b9c5fe251fcf --- /dev/null +++ b/doc/kafka-100-doc-zh/diagrams/log_consumer.graffle @@ -0,0 +1,1324 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro.MacAppStore + 139.18 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {575.99999046325684, 733}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-06-28 19:53:56 +0000 + Creator + Jay Kreps + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{326.00001376867306, 152.50000500679016}, {31, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 68 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 reads} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 67 + Points + + {358.50000000000023, 141} + {392, 171} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 16 + Info + 5 + + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 66 + Points + + {324.50000000000034, 141} + {303, 172} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 14 + Info + 5 + + + + Bounds + {{382.00001376867306, 68.448704957962036}, {32, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 65 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 writes} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{359, 172}, {78, 31}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 64 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 Consumer B\ + +\fs24 (offset=11)} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{265, 172}, {78, 31}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 63 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 Consumer A\ + +\fs24 (offset=9)} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{343.5, 42}, {64, 17}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 14 + + ID + 59 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 Producers} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 12 + + Head + + ID + 20 + Info + 6 + + ID + 55 + Points + + {375, 61} + {375.50000000000034, 96} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{367.00000000000034, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 20 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 12} + VerticalPad + 0 + + + + Bounds + {{350.00000000000023, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 16 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 11} + VerticalPad + 0 + + + + Bounds + {{332.99999999999966, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 15 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 10} + VerticalPad + 0 + + + + Bounds + {{316.00000000000034, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 14 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 9} + VerticalPad + 0 + + + + Bounds + {{299.00000000000011, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 12 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 8} + VerticalPad + 0 + + + + Bounds + {{282, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 11 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 7} + VerticalPad + 0 + + + + Bounds + {{264.99999999999989, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 10 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 6} + VerticalPad + 0 + + + + Bounds + {{247.99999999999989, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 9 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 5} + VerticalPad + 0 + + + + Bounds + {{231.00000000000023, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 8 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 4} + VerticalPad + 0 + + + + Bounds + {{213.99999999999989, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 7 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 3} + VerticalPad + 0 + + + + Bounds + {{197.00000000000011, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 6 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 2} + VerticalPad + 0 + + + + Bounds + {{180.00000000000011, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 5 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 1} + VerticalPad + 0 + + + + Bounds + {{163, 96}, {17, 44.999999999999993}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 4 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 0} + VerticalPad + 0 + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2016-09-18 22:53:32 +0000 + Modifier + Jay Kreps + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {611.99999046325684, 792} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{467, 4}, {710, 773}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{15, 0}, {561, 616}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff --git a/doc/kafka-100-doc-zh/diagrams/mirror-maker.graffle b/doc/kafka-100-doc-zh/diagrams/mirror-maker.graffle new file mode 100644 index 0000000000000000000000000000000000000000..9da6bf53a2802edc5fe96a5493eac3d48c39de07 --- /dev/null +++ b/doc/kafka-100-doc-zh/diagrams/mirror-maker.graffle @@ -0,0 +1,655 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro.MacAppStore + 139.16 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {576.00002479553223, 733}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2014-03-07 00:21:00 +0000 + Creator + Jay Kreps + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 8 + GraphicsList + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + Head + + ID + 6 + + ID + 13 + Points + + {233.5, 220.50001287710865} + {262.5, 220.50001287710865} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 8 + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + Head + + ID + 9 + + ID + 12 + Points + + {137, 218} + {175.50013308771918, 217.11153539028339} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + Head + + ID + 9 + + ID + 11 + Points + + {136.42782302132221, 256.16317046515138} + {175.57217697867779, 232.48561002265339} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Class + LineGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + Head + + ID + 9 + + ID + 10 + Points + + {136.44590089649139, 183.24328630846392} + {175.55409910350861, 203.08354295982878} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 3 + + + + Bounds + {{176, 200.5}, {52, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + ID + 9 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Mirror\ +maker} + + + + Bounds + {{181, 204.5}, {52, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + ID + 8 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Mirror\ +maker} + + + + Bounds + {{186, 208.5}, {52, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + ID + 7 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Mirror\ +maker} + + + + Bounds + {{263, 188}, {73, 65}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + ID + 6 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Destination Cluster} + + + + Bounds + {{97.5, 200.5}, {4, 42}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica-Light + Size + 12 + + ID + 5 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 .\ +.\ +.} + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{63, 246}, {73, 65}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + ID + 4 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Source Cluster \ +N} + + + + Bounds + {{63, 132}, {73, 65}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica-Light + Size + 12 + + ID + 3 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica-Light;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Source Cluster\ +1} + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-03-07 01:20:38 +0000 + Modifier + Jay Kreps + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {612.00002479553223, 792} + + NSPrintReverseOrientation + + int + 0 + + NSPrinter + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAlOU1ByaW50ZXIAhIQITlNPYmplY3QAhZKEhIQITlNTdHJpbmcBlIQBKxdEZWxsIExhc2VyIFByaW50ZXIgMTcxMIaG + + NSPrinterName + + string + Dell Laser Printer 1710 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{222, 114}, {711, 872}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {576, 733}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff --git a/doc/kafka-100-doc-zh/diagrams/producer_consumer.graffle b/doc/kafka-100-doc-zh/diagrams/producer_consumer.graffle new file mode 100644 index 0000000000000000000000000000000000000000..332c200a2fe8bba49715dd9f525b7b550923cf9d --- /dev/null +++ b/doc/kafka-100-doc-zh/diagrams/producer_consumer.graffle @@ -0,0 +1,1486 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro.MacAppStore + 139.16 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {576.00002479553223, 733}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-06-28 20:13:44 +0000 + Creator + Jay Kreps + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 8 + GraphicsList + + + Class + LineGraphic + Head + + ID + 36 + Info + 6 + + ID + 38 + Points + + {267, 137} + {365, 163} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 37 + + + + Class + LineGraphic + Head + + ID + 33 + + ID + 37 + Points + + {267, 137} + {268, 163} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{329, 163}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 36 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 consumer} + VerticalPad + 0 + + + + Bounds + {{334, 168}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 35 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 consumer} + VerticalPad + 0 + + + + Bounds + {{338, 173}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 34 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 consumer} + VerticalPad + 0 + + + + Bounds + {{232, 163}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 33 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 consumer} + VerticalPad + 0 + + + + Bounds + {{237, 168}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 32 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 consumer} + VerticalPad + 0 + + + + Bounds + {{241, 173}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 31 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 consumer} + VerticalPad + 0 + + + + Bounds + {{135, 163}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 30 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 consumer} + VerticalPad + 0 + + + + Bounds + {{140, 168}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 29 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 consumer} + VerticalPad + 0 + + + + Bounds + {{144, 173}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 28 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 consumer} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 8 + Info + 6 + + ID + 27 + Points + + {355, 74} + {262, 105} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 23 + Info + 5 + + + + Class + LineGraphic + Head + + ID + 8 + + ID + 26 + Points + + {262, 74} + {262, 105} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{309, 30}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 25 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 producer} + VerticalPad + 0 + + + + Bounds + {{314, 36}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 24 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 producer} + VerticalPad + 0 + + + + Bounds + {{319, 42}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 23 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 producer} + VerticalPad + 0 + + + + Bounds + {{217, 30}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 22 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 producer} + VerticalPad + 0 + + + + Bounds + {{222, 36}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 21 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 producer} + VerticalPad + 0 + + + + Bounds + {{227, 42}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 20 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 producer} + VerticalPad + 0 + + + + Bounds + {{125, 30}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 19 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 producer} + VerticalPad + 0 + + + + Bounds + {{130, 36}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 18 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 producer} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 30 + Info + 6 + + ID + 15 + Points + + {267, 137} + {171, 163} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 37 + + + + Class + LineGraphic + Head + + ID + 8 + Info + 6 + + ID + 12 + Points + + {171, 74} + {262, 105} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 5 + Info + 5 + + + + Bounds + {{226, 105}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 8 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 kafka cluster} + VerticalPad + 0 + + + + Bounds + {{135, 42}, {72, 32}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 12 + + ID + 5 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 producer} + VerticalPad + 0 + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-01-16 05:28:03 +0000 + Modifier + Jay Kreps + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {612.00002479553223, 792} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{28, 136}, {710, 872}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {561, 718}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff --git a/doc/kafka-100-doc-zh/documentation.html b/doc/kafka-100-doc-zh/documentation.html new file mode 100644 index 0000000000000000000000000000000000000000..6829a03a1be61ab2267a6fce416932af6a33f0d7 --- /dev/null +++ b/doc/kafka-100-doc-zh/documentation.html @@ -0,0 +1,7012 @@ + + + + + + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + + + +
+ + + +
+ + You're viewing documentation for an older version of Kafka - check out our current documentation here. + + + +

文档

+

Kafka 1.0 文档

+ + + + + + + + + +
+ + + +

1. 入门

+

1.1 介绍

+ + + + + + +
+ +

1.2 使用案例

+ + +

以下描述了一些 ApacheKafka ®的流行用例。有关这些领域的概述,请参阅 此博客中的文章

+ +

消息

+Kafka 很好地替代了传统的message broker(消息代理)。 +Message brokers 可用于各种场合(如将数据生成器与数据处理解耦,缓冲未处理的消息等)。 +与大多数消息系统相比,Kafka拥有更好的吞吐量、内置分区、具有复制和容错的功能,这使它成为一个非常理想的大型消息处理应用。 +

+根据我们的经验,通常消息传递使用较低的吞吐量,但可能要求较低的端到端延迟,Kafka提供强大的持久性来满足这一要求。 +

+ 在这方面,Kafka 可以与传统的消息传递系统(ActiveMQ 和 +RabbitMQ)相媲美。 + +

跟踪网站活动

+Kafka 的初始用例是将用户活动跟踪管道重建为一组实时发布-订阅源。 +这意味着网站活动(浏览网页、搜索或其他的用户操作)将被发布到中心topic,其中每个活动类型有一个topic。 +这些订阅源提供一系列用例,包括实时处理、实时监视、对加载到Hadoop或离线数据仓库系统的数据进行离线处理和报告等。 +

+每个用户浏览网页时都生成了许多活动信息,因此活动跟踪的数据量通常非常大 + +

度量

+Kafka 通常用于监控数据。这涉及到从分布式应用程序中汇总数据,然后生成可操作的集中数据源。 + +

日志聚合

+许多人使用Kafka来替代日志聚合解决方案。 +日志聚合系统通常从服务器收集物理日志文件,并将其置于一个中心系统(可能是文件服务器或HDFS)进行处理。 +Kafka 从这些日志文件中提取信息,并将其抽象为一个更加清晰的消息流。 +这样可以实现更低的延迟处理且易于支持多个数据源及分布式数据的消耗。 +与Scribe或Flume等以日志为中心的系统相比,Kafka具备同样出色的性能、更强的耐用性(因为复制功能)和更低的端到端延迟。 + +

流处理

+ +许多Kafka用户通过管道来处理数据,有多个阶段: +从Kafka topic中消费原始输入数据,然后聚合,修饰或通过其他方式转化为新的topic, +以供进一步消费或处理。 +例如,一个推荐新闻文章的处理管道可以从RSS订阅源抓取文章内容并将其发布到“文章”topic; +然后对这个内容进行标准化或者重复的内容, +并将处理完的文章内容发布到新的topic; +最终它会尝试将这些内容推荐给用户。 +这种处理管道基于各个topic创建实时数据流图。从0.10.0.0开始,在Apache Kafka中,Kafka Streams +可以用来执行上述的数据处理,它是一个轻量但功能强大的流处理库。除Kafka Streams外,可供替代的开源流处理工具还包括Apache Storm +和Apache Samza. + +

采集日志

+Event sourcing是一种应用程序设计风格,按时间来记录状态的更改。 +Kafka 可以存储非常多的日志数据,为基于 event sourcing 的应用程序提供强有力的支持。 + +

提交日志

+Kafka 可以从外部为分布式系统提供日志提交功能。 +日志有助于记录节点和行为间的数据,采用重新同步机制可以从失败节点恢复数据。 +Kafka的日志压缩 功能支持这一用法。 +这一点与Apache BookKeeper 项目类似。 + + +

1.3 快速开始

+ + + + + + +
+ +

1.4 生态圈

+ + + + +在主发行版之外,有大量的工具与 Kafka 集成。在 生态圈 里列出了许多内容,有流处理系统、Hadoop集成、监视和部署工具。 + +

1.5 升级版本

+ + + + + + +
+ + + +

2. APIs

+ + + +
+ + + +

3. 配置

+ + + + +
+ + + +

4. 设计思想

+ + + + +
+ + + +

5. 实现思路

+ + + + +
+ + + +

6. 基本操作

+ + + +
+ + + +

7. 安全

+ + + + +
+ + + +

8. Kafka Connect

+ + + + +
+ + + +

9. Kafka Streams

+

+ Kafka Streams 是一个用于处理和分析存储在 Kafka 系统中的数据的客户端库。 它建立在重要的流处理概念上,如恰当地区分事件时间(event time)和处理时间(processing time),支持窗口操作(window),exactly-once 处理语义以及简单高效的应用程序状态管理。 +

+

+ Kafka Streams 的入门门槛很低。我们可以在单节点环境上快速实现一个小规模的验证性的程序,只要程序能在多节点的集群环境成功运行即可部署到高负载的生产环境。 Kafka Streams 通过利用 Kafka 的并行模型实现对相同应用程序的多个实例的负载平衡,这对于用户来说是透明的。 +

+ +

Learn More about Kafka Streams read this Section.

+
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/documentation/index.html b/doc/kafka-100-doc-zh/documentation/index.html new file mode 100644 index 0000000000000000000000000000000000000000..233d50af1215dccb3749f83339569816d06a2b13 --- /dev/null +++ b/doc/kafka-100-doc-zh/documentation/index.html @@ -0,0 +1,2 @@ + + diff --git a/doc/kafka-100-doc-zh/documentation/streams/architecture.html b/doc/kafka-100-doc-zh/documentation/streams/architecture.html new file mode 100644 index 0000000000000000000000000000000000000000..92f1a2a4481084ba3f1e8c34de25e1ef99723853 --- /dev/null +++ b/doc/kafka-100-doc-zh/documentation/streams/architecture.html @@ -0,0 +1,455 @@ + + + + + + + + + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ + + + +
+
+ + + + + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/documentation/streams/core-concepts.html b/doc/kafka-100-doc-zh/documentation/streams/core-concepts.html new file mode 100644 index 0000000000000000000000000000000000000000..7073df110a064f632ed9e4f048e8ab3c58a287cb --- /dev/null +++ b/doc/kafka-100-doc-zh/documentation/streams/core-concepts.html @@ -0,0 +1,505 @@ + + + + + + + + + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ + + + +
+
+ + + + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/documentation/streams/developer-guide.html b/doc/kafka-100-doc-zh/documentation/streams/developer-guide.html new file mode 100644 index 0000000000000000000000000000000000000000..4c967f9f155cae2d900f6af055abfee052bb95e5 --- /dev/null +++ b/doc/kafka-100-doc-zh/documentation/streams/developer-guide.html @@ -0,0 +1,3327 @@ + + + + + + + + + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ + + + +
+
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/kafka-100-doc-zh/documentation/streams/index.html b/doc/kafka-100-doc-zh/documentation/streams/index.html new file mode 100644 index 0000000000000000000000000000000000000000..96c995c68ddce1ab3c8db62b149d352dcd59adde --- /dev/null +++ b/doc/kafka-100-doc-zh/documentation/streams/index.html @@ -0,0 +1,667 @@ + + + + + + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ + + + +
+
+ + + + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/documentation/streams/quickstart.html b/doc/kafka-100-doc-zh/documentation/streams/quickstart.html new file mode 100644 index 0000000000000000000000000000000000000000..a70156786f2c4f608dfc7f9d8f555864bc91fa38 --- /dev/null +++ b/doc/kafka-100-doc-zh/documentation/streams/quickstart.html @@ -0,0 +1,681 @@ + + + + + + + +
+ + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ + + + +
+
+ + + + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/documentation/streams/upgrade-guide.html b/doc/kafka-100-doc-zh/documentation/streams/upgrade-guide.html new file mode 100644 index 0000000000000000000000000000000000000000..2bb680ecb9a3d7f32d77e1676b6af41bcca530da --- /dev/null +++ b/doc/kafka-100-doc-zh/documentation/streams/upgrade-guide.html @@ -0,0 +1,691 @@ + + + + + + + + + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ + + + +
+
+ + + + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/downloads.html b/doc/kafka-100-doc-zh/downloads.html new file mode 100644 index 0000000000000000000000000000000000000000..b546093c8326f10778c50d1b75d6a7f1e24d40ce --- /dev/null +++ b/doc/kafka-100-doc-zh/downloads.html @@ -0,0 +1,823 @@ + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ + + +
+

Download

+

1.0.0 is the latest release. The current stable version is 1.0.0.

+ +

+ You can verify your download by following these procedures and using these KEYS. +

+

1.0.0

+ +
    +
  • + Released November 1, 2017 +
  • +
  • + Source download: kafka-1.0.0-src.tgz (asc, sha512) +
  • +
  • + Binary downloads: + + We build for multiple versions of Scala. This only matters if you are using Scala and you want a version built for the same Scala version you use. Otherwise any version should work (2.11 is recommended). +
  • +
+ +

+ Kafka 1.0.0 is no mere bump of the version number. The Apache Kafka Project Management Committee has packed a number of valuable enhancements into the release. Here is a summary of a few of them: +

+ +
    +
  • + Since its introduction in version 0.10, the Streams API has become hugely popular among Kafka users, including the likes of Pinterest, Rabobank, Zalando, and The New York Times. In 1.0, the the API continues to evolve at a healthy pace. To begin with, the builder API has been improved (KIP-120). A new API has been added to expose the state of active tasks at runtime (KIP-130). The new cogroup API makes it much easier to deal with partitioned aggregates with fewer StateStores and fewer moving parts in your code (KIP-150). Debuggability gets easier with enhancements to the print() and writeAsText() methods (KIP-160). And if that’s not enough, check out KIP-138 and KIP-161 too. For more on streams, check out the Apache Kafka Streams documentation, including some helpful new tutorial videos. +
  • +
  • + Operating Kafka at scale requires that the system remain observable, and to make that easier, we’ve made a number of improvements to metrics. These are too many to summarize without becoming tedious, but Connect metrics have been significantly improved (KIP-196), a litany of new health check metrics are now exposed (KIP-188), and we now have a global topic and partition count (KIP-168). Check out KIP-164 and KIP-187 for even more. +
  • +
  • + We now support Java 9, leading, among other things, to significantly faster TLS and CRC32C implementations. Over-the-wire encryption will be faster now, which will keep Kafka fast and compute costs low when encryption is enabled. +
  • +
  • + In keeping with the security theme, KIP-152 cleans up the error handling on Simple Authentication Security Layer (SASL) authentication attempts. Previously, some authentication error conditions were indistinguishable from broker failures and were not logged in a clear way. This is cleaner now. +
  • +
  • + Kafka can now tolerate disk failures better. Historically, JBOD storage configurations have not been recommended, but the architecture has nevertheless been tempting: after all, why not rely on Kafka’s own replication mechanism to protect against storage failure rather than using RAID? With KIP-112, Kafka now handles disk failure more gracefully. A single disk failure in a JBOD broker will not bring the entire broker down; rather, the broker will continue serving any log files that remain on functioning disks. +
  • +
  • + Since release 0.11.0, the idempotent producer (which is the producer used in the presence of a transaction, which of course is the producer we use for exactly-once processing) required max.in.flight.requests.per.connection to be equal to one. As anyone who has written or tested a wire protocol can attest, this put an upper bound on throughput. Thanks to KAFKA-5949, this can now be as large as five, relaxing the throughput constraint quite a bit. +
  • +
+ +

+ For more information, please read the detailed Release Notes. +

+ + +

0.11.0.2

+ + +

0.11.0.1

+ + + +

0.11.0.0

+ + +

0.10.2.1

+ + +

0.10.2.0

+ + +

0.10.1.1

+ + +

0.10.1.0

+ + +

0.10.0.1

+ + +

0.10.0.0

+ + +

0.9.0.1

+ + +

0.9.0.0

+ + +

0.8.2.2

+ + +

0.8.2.1

+ + +

0.8.2.0

+ + +

0.8.2-beta

+ + +

0.8.1.1 Release

+ + +

0.8.1 Release

+ + +

0.8.0 Release

+ + +

0.8.0 Beta1 Release

+ + +

0.7.2 Release

+ + +

0.7.1 Release

+ + +

0.7.0 Release

+ + +

+ You can download releases previous to 0.7.0-incubating here. +

+ +
+
+
+ + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/events.html b/doc/kafka-100-doc-zh/events.html new file mode 100644 index 0000000000000000000000000000000000000000..659d86e48bffadaacfe9b20f0a9697db7f725afa --- /dev/null +++ b/doc/kafka-100-doc-zh/events.html @@ -0,0 +1,283 @@ + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ @@include('includes/_nav.htm) + +
+

Events

+ +
+

Meetups

+

Meetups focused on Kafka and the Kafka ecosystem are currently running in the following locations:

+ +
+
North America
+ +
+
+
Europe
+ +
+
+
Asia
+ + +
Australia
+ +
+
+
+

Kafka Summit

+

Conference for anyone currently using or excited to learn about Kafka and real time data streaming.

+

View times & locations

+
+ +
+
+
+ + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/google29eadbd0256e020c.html b/doc/kafka-100-doc-zh/google29eadbd0256e020c.html new file mode 100644 index 0000000000000000000000000000000000000000..f022843c5cd24dd2130a3374cf65827fbc6b517d --- /dev/null +++ b/doc/kafka-100-doc-zh/google29eadbd0256e020c.html @@ -0,0 +1 @@ +google-site-verification: google29eadbd0256e020c.html \ No newline at end of file diff --git a/doc/kafka-100-doc-zh/google7bff870a0cde1d0d.html b/doc/kafka-100-doc-zh/google7bff870a0cde1d0d.html new file mode 100644 index 0000000000000000000000000000000000000000..e0928fd985bbbddedb26729b5779766df3a03385 --- /dev/null +++ b/doc/kafka-100-doc-zh/google7bff870a0cde1d0d.html @@ -0,0 +1 @@ +google-site-verification: google7bff870a0cde1d0d.html \ No newline at end of file diff --git a/doc/kafka-100-doc-zh/images/apache-kafka.png b/doc/kafka-100-doc-zh/images/apache-kafka.png new file mode 100644 index 0000000000000000000000000000000000000000..fa8e4a256805c451ae1b844f03723278fc838664 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/apache-kafka.png differ diff --git a/doc/kafka-100-doc-zh/images/apache_feather.gif b/doc/kafka-100-doc-zh/images/apache_feather.gif new file mode 100644 index 0000000000000000000000000000000000000000..20cd84f06c4850cd7db7788a64fec598cb6e9b13 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/apache_feather.gif differ diff --git a/doc/kafka-100-doc-zh/images/consumer-groups.png b/doc/kafka-100-doc-zh/images/consumer-groups.png new file mode 100644 index 0000000000000000000000000000000000000000..d55e1e3c0963fa912c3b03a36372b60158b121a5 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/consumer-groups.png differ diff --git a/doc/kafka-100-doc-zh/images/damianguy.jpg b/doc/kafka-100-doc-zh/images/damianguy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba433708ef7e3036611716846d3583f44d7f639c Binary files /dev/null and b/doc/kafka-100-doc-zh/images/damianguy.jpg differ diff --git a/doc/kafka-100-doc-zh/images/david.jpg b/doc/kafka-100-doc-zh/images/david.jpg new file mode 100644 index 0000000000000000000000000000000000000000..86708064088ab19c57538b85ad545fd224a10ebf Binary files /dev/null and b/doc/kafka-100-doc-zh/images/david.jpg differ diff --git a/doc/kafka-100-doc-zh/images/ewencp.jpg b/doc/kafka-100-doc-zh/images/ewencp.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e62c6044f6d739962af856397712f8959b6c702 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/ewencp.jpg differ diff --git a/doc/kafka-100-doc-zh/images/feather-small.png b/doc/kafka-100-doc-zh/images/feather-small.png new file mode 100644 index 0000000000000000000000000000000000000000..0f9be1db0a9940cbb46ce7baf7c081039fc97547 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/feather-small.png differ diff --git a/doc/kafka-100-doc-zh/images/granthenke.jpg b/doc/kafka-100-doc-zh/images/granthenke.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ecad297efdc0944c816861816738f1ff0d43dba7 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/granthenke.jpg differ diff --git a/doc/kafka-100-doc-zh/images/guozhang.jpg b/doc/kafka-100-doc-zh/images/guozhang.jpg new file mode 100644 index 0000000000000000000000000000000000000000..55a7adc16fe9834212021fe9a1c3f1268f680a43 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/guozhang.jpg differ diff --git a/doc/kafka-100-doc-zh/images/gwenshap.jpg b/doc/kafka-100-doc-zh/images/gwenshap.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2df6d30b599aa949d95f44df50c61cb23ddd12f3 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/gwenshap.jpg differ diff --git a/doc/kafka-100-doc-zh/images/harsha.jpg b/doc/kafka-100-doc-zh/images/harsha.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8431d66a31c26556d990a1dee3f89c4ed9c85a6e Binary files /dev/null and b/doc/kafka-100-doc-zh/images/harsha.jpg differ diff --git a/doc/kafka-100-doc-zh/images/icons/check.png b/doc/kafka-100-doc-zh/images/icons/check.png new file mode 100644 index 0000000000000000000000000000000000000000..8b5afc8fda0dc4d2f6f70df385eb26beee8abae6 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/icons/check.png differ diff --git a/doc/kafka-100-doc-zh/images/icons/slash--white.png b/doc/kafka-100-doc-zh/images/icons/slash--white.png new file mode 100644 index 0000000000000000000000000000000000000000..82912c98435f6d63fcc1ebc04cd1efd3637d822d Binary files /dev/null and b/doc/kafka-100-doc-zh/images/icons/slash--white.png differ diff --git a/doc/kafka-100-doc-zh/images/icons/slash.png b/doc/kafka-100-doc-zh/images/icons/slash.png new file mode 100644 index 0000000000000000000000000000000000000000..6295c31256b5eecb8da811794e48fc62f734124f Binary files /dev/null and b/doc/kafka-100-doc-zh/images/icons/slash.png differ diff --git a/doc/kafka-100-doc-zh/images/ijuma.jpg b/doc/kafka-100-doc-zh/images/ijuma.jpg new file mode 100644 index 0000000000000000000000000000000000000000..406093bf5fe4e0616226de12f62cb3e214f93162 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/ijuma.jpg differ diff --git a/doc/kafka-100-doc-zh/images/jakob.jpg b/doc/kafka-100-doc-zh/images/jakob.jpg new file mode 100644 index 0000000000000000000000000000000000000000..828cb997aaa329f6e83cc3180e797cc5a45566b3 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/jakob.jpg differ diff --git a/doc/kafka-100-doc-zh/images/jason.jpg b/doc/kafka-100-doc-zh/images/jason.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a1f0b92ab1ca3fd4a17d8953c73e9dd3718dbb4d Binary files /dev/null and b/doc/kafka-100-doc-zh/images/jason.jpg differ diff --git a/doc/kafka-100-doc-zh/images/jay.jpg b/doc/kafka-100-doc-zh/images/jay.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02e67cc40540d0c0ebf528fa6006a14d707f7239 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/jay.jpg differ diff --git a/doc/kafka-100-doc-zh/images/jiangjie.jpg b/doc/kafka-100-doc-zh/images/jiangjie.jpg new file mode 100644 index 0000000000000000000000000000000000000000..15cfc438e9151236577581657fe84828de533d88 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/jiangjie.jpg differ diff --git a/doc/kafka-100-doc-zh/images/joe.jpg b/doc/kafka-100-doc-zh/images/joe.jpg new file mode 100644 index 0000000000000000000000000000000000000000..422f94302d74ab6d704a1a48242d3b24844f22a7 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/joe.jpg differ diff --git a/doc/kafka-100-doc-zh/images/joel.jpg b/doc/kafka-100-doc-zh/images/joel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a783825881c5cda14cf1e96de916c68eb1ad5934 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/joel.jpg differ diff --git a/doc/kafka-100-doc-zh/images/jun.jpg b/doc/kafka-100-doc-zh/images/jun.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85ea9f99172d7b293f58d950d86d27e5c0b652c9 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/jun.jpg differ diff --git a/doc/kafka-100-doc-zh/images/kafka-apis.png b/doc/kafka-100-doc-zh/images/kafka-apis.png new file mode 100644 index 0000000000000000000000000000000000000000..17671161ce36d9e63b9feaa21be8b2d1a7d50ecc Binary files /dev/null and b/doc/kafka-100-doc-zh/images/kafka-apis.png differ diff --git a/doc/kafka-100-doc-zh/images/kafka_diagram.png b/doc/kafka-100-doc-zh/images/kafka_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..a039e52380e122d91c5b2ee754a6dd336d4c33b4 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/kafka_diagram.png differ diff --git a/doc/kafka-100-doc-zh/images/kafka_log.png b/doc/kafka-100-doc-zh/images/kafka_log.png new file mode 100644 index 0000000000000000000000000000000000000000..67463f4b91d7e40de699ad0c10824978e8eed701 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/kafka_log.png differ diff --git a/doc/kafka-100-doc-zh/images/kafka_multidc.png b/doc/kafka-100-doc-zh/images/kafka_multidc.png new file mode 100644 index 0000000000000000000000000000000000000000..4c9e83c45c36d8a97abd44f2e5f4e864b2c19029 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/kafka_multidc.png differ diff --git a/doc/kafka-100-doc-zh/images/kafka_multidc_complex.png b/doc/kafka-100-doc-zh/images/kafka_multidc_complex.png new file mode 100644 index 0000000000000000000000000000000000000000..90621d27341e684807736552747d5c6d5f275ccd Binary files /dev/null and b/doc/kafka-100-doc-zh/images/kafka_multidc_complex.png differ diff --git a/doc/kafka-100-doc-zh/images/log_anatomy.png b/doc/kafka-100-doc-zh/images/log_anatomy.png new file mode 100644 index 0000000000000000000000000000000000000000..a38cd90c02091211dc43020399fdacd4aff35773 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/log_anatomy.png differ diff --git a/doc/kafka-100-doc-zh/images/log_cleaner_anatomy.png b/doc/kafka-100-doc-zh/images/log_cleaner_anatomy.png new file mode 100644 index 0000000000000000000000000000000000000000..68813f98b37182b8b6f1c59e154974ba6a557d49 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/log_cleaner_anatomy.png differ diff --git a/doc/kafka-100-doc-zh/images/log_compaction.png b/doc/kafka-100-doc-zh/images/log_compaction.png new file mode 100644 index 0000000000000000000000000000000000000000..ec5795abbd0022fa64a0a42083e180b704115c39 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/log_compaction.png differ diff --git a/doc/kafka-100-doc-zh/images/log_consumer.png b/doc/kafka-100-doc-zh/images/log_consumer.png new file mode 100644 index 0000000000000000000000000000000000000000..4192695a62cdc3fe91c5122614b8dea767bebd24 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/log_consumer.png differ diff --git a/doc/kafka-100-doc-zh/images/logo.png b/doc/kafka-100-doc-zh/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fb5e268264500c9d0a742dc1f3a40ce71d00d69d Binary files /dev/null and b/doc/kafka-100-doc-zh/images/logo.png differ diff --git a/doc/kafka-100-doc-zh/images/mirror-maker.png b/doc/kafka-100-doc-zh/images/mirror-maker.png new file mode 100644 index 0000000000000000000000000000000000000000..e78222266cb0392c1080ee9e852b648e131e0759 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/mirror-maker.png differ diff --git a/doc/kafka-100-doc-zh/images/neha.jpg b/doc/kafka-100-doc-zh/images/neha.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0f8dfd51f03b5adcb84e32a1ee68ef9f98c2827d Binary files /dev/null and b/doc/kafka-100-doc-zh/images/neha.jpg differ diff --git a/doc/kafka-100-doc-zh/images/onur.jpg b/doc/kafka-100-doc-zh/images/onur.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e1418b8a5f9f3268c0317a1300f2f6d84cb6423d Binary files /dev/null and b/doc/kafka-100-doc-zh/images/onur.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/CJ_Affiliate.png b/doc/kafka-100-doc-zh/images/powered-by/CJ_Affiliate.png new file mode 100644 index 0000000000000000000000000000000000000000..b5de6dcb087ff196e99f4a2bf0d20878adcc54bc Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/CJ_Affiliate.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/NYT.jpg b/doc/kafka-100-doc-zh/images/powered-by/NYT.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7d9dc3cce939d3deb71061a9218bcea01b197b94 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/NYT.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/addthis.png b/doc/kafka-100-doc-zh/images/powered-by/addthis.png new file mode 100644 index 0000000000000000000000000000000000000000..f7e670446a18269b19b05605305344ab8894d23c Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/addthis.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/airbnb.png b/doc/kafka-100-doc-zh/images/powered-by/airbnb.png new file mode 100644 index 0000000000000000000000000000000000000000..d54d4061109db014906ba167665d0a5da88a2de0 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/airbnb.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/ancestry.svg b/doc/kafka-100-doc-zh/images/powered-by/ancestry.svg new file mode 100644 index 0000000000000000000000000000000000000000..d7c46e584cd3a8cf3ba3de1f9d8f53a84a878fa5 --- /dev/null +++ b/doc/kafka-100-doc-zh/images/powered-by/ancestry.svg @@ -0,0 +1 @@ +ancestry \ No newline at end of file diff --git a/doc/kafka-100-doc-zh/images/powered-by/ants.png b/doc/kafka-100-doc-zh/images/powered-by/ants.png new file mode 100644 index 0000000000000000000000000000000000000000..653ec3e9ecdf49744c568a1c34a3f17df402b3e6 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/ants.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/boundary.gif b/doc/kafka-100-doc-zh/images/powered-by/boundary.gif new file mode 100644 index 0000000000000000000000000000000000000000..d91c9b4a103ffbae054b41268c9f32faa7e0a499 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/boundary.gif differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/box.png b/doc/kafka-100-doc-zh/images/powered-by/box.png new file mode 100644 index 0000000000000000000000000000000000000000..95a34d406f0c349163967f7df02e43e3a6cc52d5 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/box.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/cerner.png b/doc/kafka-100-doc-zh/images/powered-by/cerner.png new file mode 100644 index 0000000000000000000000000000000000000000..0f016aea89e4159f06ed5d019d3ad4118ae260cd Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/cerner.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/cisco.png b/doc/kafka-100-doc-zh/images/powered-by/cisco.png new file mode 100644 index 0000000000000000000000000000000000000000..d8478b286e6cd028bd8668836142496e612d3eb5 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/cisco.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/cityzen.png b/doc/kafka-100-doc-zh/images/powered-by/cityzen.png new file mode 100644 index 0000000000000000000000000000000000000000..7588409f8826efe128983c59ded3d8577b533c4d Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/cityzen.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/cloudfare.png b/doc/kafka-100-doc-zh/images/powered-by/cloudfare.png new file mode 100644 index 0000000000000000000000000000000000000000..8277f59adf667f23760c7ecc743bd2303b0bb0c3 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/cloudfare.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/cloudphysics.png b/doc/kafka-100-doc-zh/images/powered-by/cloudphysics.png new file mode 100644 index 0000000000000000000000000000000000000000..401a252484733edf043923a73c7cde6121c501fe Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/cloudphysics.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/coursera.png b/doc/kafka-100-doc-zh/images/powered-by/coursera.png new file mode 100644 index 0000000000000000000000000000000000000000..ef6f9b539261e1dfb21c3fab8a67a7b5b16d62dd Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/coursera.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/criteo.jpeg b/doc/kafka-100-doc-zh/images/powered-by/criteo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3a8f4e0a765dbbb0d2ade81e58d424e380db51ce Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/criteo.jpeg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/datadog.png b/doc/kafka-100-doc-zh/images/powered-by/datadog.png new file mode 100644 index 0000000000000000000000000000000000000000..2c0eab338d08e2b0ef7466ec685ea8d9622860e6 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/datadog.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/datasift.png b/doc/kafka-100-doc-zh/images/powered-by/datasift.png new file mode 100644 index 0000000000000000000000000000000000000000..ae98050e34f652c4d550994c5f4864a387624d3b Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/datasift.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/emergingthreats.png b/doc/kafka-100-doc-zh/images/powered-by/emergingthreats.png new file mode 100644 index 0000000000000000000000000000000000000000..b48b27fea565e2bf79ac060f4eca4a75ef1eb175 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/emergingthreats.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/etsy.png b/doc/kafka-100-doc-zh/images/powered-by/etsy.png new file mode 100644 index 0000000000000000000000000000000000000000..a4cd08947cebaa2827c4afbe8994f172cb662bb1 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/etsy.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/exoscale.png b/doc/kafka-100-doc-zh/images/powered-by/exoscale.png new file mode 100644 index 0000000000000000000000000000000000000000..21836382679b7d02932cc6a696d20c4cc9c9cdd3 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/exoscale.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/exponential.png b/doc/kafka-100-doc-zh/images/powered-by/exponential.png new file mode 100644 index 0000000000000000000000000000000000000000..6d31a48315de3236b4eeb7657b860ee5ed640ca8 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/exponential.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/flyhajj.png b/doc/kafka-100-doc-zh/images/powered-by/flyhajj.png new file mode 100644 index 0000000000000000000000000000000000000000..03089aa33e412d0c0dc97e314a074669482c0966 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/flyhajj.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/foursquare.png b/doc/kafka-100-doc-zh/images/powered-by/foursquare.png new file mode 100644 index 0000000000000000000000000000000000000000..7d525397581f253931bebed5af83b25246925e2d Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/foursquare.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/gnip.png b/doc/kafka-100-doc-zh/images/powered-by/gnip.png new file mode 100644 index 0000000000000000000000000000000000000000..db95e142ca755fa4e7d8174c1e3259a19179c423 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/gnip.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/goldmansachs.jpg b/doc/kafka-100-doc-zh/images/powered-by/goldmansachs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ce2f29d530daab565c55b392f9f31ad714b2548a Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/goldmansachs.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/graylog2.jpg b/doc/kafka-100-doc-zh/images/powered-by/graylog2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..316866ec4e230caeadc968d60ab5f43c74865ba4 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/graylog2.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/helprace.png b/doc/kafka-100-doc-zh/images/powered-by/helprace.png new file mode 100644 index 0000000000000000000000000000000000000000..8a700e64eb88cec7bcebba495abccf2af464eae2 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/helprace.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/helpshift.png b/doc/kafka-100-doc-zh/images/powered-by/helpshift.png new file mode 100644 index 0000000000000000000000000000000000000000..6422d82983c31dc6e81aa0d125a7d5a429c7bfac Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/helpshift.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/homeadvisor.jpg b/doc/kafka-100-doc-zh/images/powered-by/homeadvisor.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cfd875436975e1826a305073e8cb81cc54e5d2c3 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/homeadvisor.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/hotels.jpg b/doc/kafka-100-doc-zh/images/powered-by/hotels.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ab36e930031d07dcf7e315038e7a43c95f84834c Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/hotels.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/ibmmessagehub.png b/doc/kafka-100-doc-zh/images/powered-by/ibmmessagehub.png new file mode 100644 index 0000000000000000000000000000000000000000..7f9f68899b125b645308e77dae91f5ab06648bdc Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/ibmmessagehub.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/ifttt.png b/doc/kafka-100-doc-zh/images/powered-by/ifttt.png new file mode 100644 index 0000000000000000000000000000000000000000..9e5c85cb9402694319215a94522b6a9d528b6845 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/ifttt.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/infochimps.png b/doc/kafka-100-doc-zh/images/powered-by/infochimps.png new file mode 100644 index 0000000000000000000000000000000000000000..13819a504364190ba0c18153ad6d8ee839eee573 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/infochimps.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/ipinyou.png b/doc/kafka-100-doc-zh/images/powered-by/ipinyou.png new file mode 100644 index 0000000000000000000000000000000000000000..dc171ccd44169556da9a38ce5902258df5a9ba39 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/ipinyou.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/line.png b/doc/kafka-100-doc-zh/images/powered-by/line.png new file mode 100644 index 0000000000000000000000000000000000000000..4239832f1956c8dbdf54c6d4116f17a942a45cac Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/line.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/line.svg b/doc/kafka-100-doc-zh/images/powered-by/line.svg new file mode 100644 index 0000000000000000000000000000000000000000..b4e92aa9aebd847884b8dfee9706458aa7b71545 --- /dev/null +++ b/doc/kafka-100-doc-zh/images/powered-by/line.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/images/powered-by/linkedin.jpg b/doc/kafka-100-doc-zh/images/powered-by/linkedin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3efdcdcfb6175eaa302a645e828ecc93eac8741f Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/linkedin.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/linksmart.png b/doc/kafka-100-doc-zh/images/powered-by/linksmart.png new file mode 100644 index 0000000000000000000000000000000000000000..5d2abd6b732352e0e3a7917adea0b320fccc9526 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/linksmart.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/livefyre.png b/doc/kafka-100-doc-zh/images/powered-by/livefyre.png new file mode 100644 index 0000000000000000000000000000000000000000..0c6da417a37ad50f286dddd784a5c4c5f076b37e Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/livefyre.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/liveperson.png b/doc/kafka-100-doc-zh/images/powered-by/liveperson.png new file mode 100644 index 0000000000000000000000000000000000000000..0746dd21d9b87c42298a94728b32e3000be845ed Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/liveperson.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/loggly.png b/doc/kafka-100-doc-zh/images/powered-by/loggly.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ca754f3d810952b5d519efccfc3529aaea504b Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/loggly.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/lucidworks.png b/doc/kafka-100-doc-zh/images/powered-by/lucidworks.png new file mode 100644 index 0000000000000000000000000000000000000000..3f109439b2374c7fd2d45365510d4c68b8f4a0d5 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/lucidworks.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/mailchimp.png b/doc/kafka-100-doc-zh/images/powered-by/mailchimp.png new file mode 100644 index 0000000000000000000000000000000000000000..7b8312e6d13b4611f126c11be89416ec6fa74c75 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/mailchimp.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/mate1.png b/doc/kafka-100-doc-zh/images/powered-by/mate1.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae51671ec4e310c42eafd2dabd4d72e35160f2b Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/mate1.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/messagehub.png b/doc/kafka-100-doc-zh/images/powered-by/messagehub.png new file mode 100644 index 0000000000000000000000000000000000000000..93194c0a5062e8ee29b216b0cf09d5c7755afc98 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/messagehub.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/metamarkets.png b/doc/kafka-100-doc-zh/images/powered-by/metamarkets.png new file mode 100644 index 0000000000000000000000000000000000000000..3f190ecb73c5c5342945535e08bc9b0bc46673f5 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/metamarkets.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/mozilla.png b/doc/kafka-100-doc-zh/images/powered-by/mozilla.png new file mode 100644 index 0000000000000000000000000000000000000000..4b6ef18ec87888cb272527f5e70f3c8cb1dfd5af Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/mozilla.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/netflix.png b/doc/kafka-100-doc-zh/images/powered-by/netflix.png new file mode 100644 index 0000000000000000000000000000000000000000..fc1e5bfc52d3031ca50a34dea08fd1600dfff905 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/netflix.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/ooyala.png b/doc/kafka-100-doc-zh/images/powered-by/ooyala.png new file mode 100644 index 0000000000000000000000000000000000000000..cda6c83ed8849472fe51087abdba16c75ecaf399 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/ooyala.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/oracle.png b/doc/kafka-100-doc-zh/images/powered-by/oracle.png new file mode 100644 index 0000000000000000000000000000000000000000..ec44973818c90aa274a2e3192f265c056123438e Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/oracle.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/oraclegoldengate.png b/doc/kafka-100-doc-zh/images/powered-by/oraclegoldengate.png new file mode 100644 index 0000000000000000000000000000000000000000..6eb18e090819126566c8dfd08dc4de986828f87d Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/oraclegoldengate.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/outbrain.jpg b/doc/kafka-100-doc-zh/images/powered-by/outbrain.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d4bc2d3f6dd264122433fea0e155051bf797970b Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/outbrain.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/outbrain.png b/doc/kafka-100-doc-zh/images/powered-by/outbrain.png new file mode 100644 index 0000000000000000000000000000000000000000..b557c880770743ccf5a75ff813fb658731076b42 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/outbrain.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/ovh.png b/doc/kafka-100-doc-zh/images/powered-by/ovh.png new file mode 100644 index 0000000000000000000000000000000000000000..145bbae29cde7c7ba701cf03764d7f7dc54c20fc Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/ovh.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/parsely.png b/doc/kafka-100-doc-zh/images/powered-by/parsely.png new file mode 100644 index 0000000000000000000000000000000000000000..debaec249df61a260b9cdae3be0b00f3648291b1 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/parsely.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/paypal.png b/doc/kafka-100-doc-zh/images/powered-by/paypal.png new file mode 100644 index 0000000000000000000000000000000000000000..41007d9df84909352d090e5459ab8c0bbd8c436d Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/paypal.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/pinterest.png b/doc/kafka-100-doc-zh/images/powered-by/pinterest.png new file mode 100644 index 0000000000000000000000000000000000000000..c0223dad4a40e5ea057e2ecc11941ef3afd006f0 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/pinterest.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/porto-seguro.png b/doc/kafka-100-doc-zh/images/powered-by/porto-seguro.png new file mode 100644 index 0000000000000000000000000000000000000000..672fec429d70518a72421b26c99c689673ffac50 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/porto-seguro.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/quixey.png b/doc/kafka-100-doc-zh/images/powered-by/quixey.png new file mode 100644 index 0000000000000000000000000000000000000000..2769ca3d15f9b0711019cb6353d445d3a86a54f7 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/quixey.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/rabobank.jpg b/doc/kafka-100-doc-zh/images/powered-by/rabobank.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d53576c2811558ba1ce8996b210c900051b39bae Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/rabobank.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/retentionscience.jpg b/doc/kafka-100-doc-zh/images/powered-by/retentionscience.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cbb875832a8b3bf93e955fed070e7453e386e044 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/retentionscience.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/richrelevance.jpg b/doc/kafka-100-doc-zh/images/powered-by/richrelevance.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80f6af86fa048e25b65a12d7db497161e3b50bf9 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/richrelevance.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/richrelevance.png b/doc/kafka-100-doc-zh/images/powered-by/richrelevance.png new file mode 100644 index 0000000000000000000000000000000000000000..37cec87248453096ef2127c1665f35f18844ce84 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/richrelevance.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/robotCircle.png b/doc/kafka-100-doc-zh/images/powered-by/robotCircle.png new file mode 100644 index 0000000000000000000000000000000000000000..e24a3f6a0100d61491f235c9bfff7df67a837c22 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/robotCircle.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/sematext.png b/doc/kafka-100-doc-zh/images/powered-by/sematext.png new file mode 100644 index 0000000000000000000000000000000000000000..e4a897d13e888010059f4c922a20d4b2fd215990 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/sematext.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/shopify.png b/doc/kafka-100-doc-zh/images/powered-by/shopify.png new file mode 100644 index 0000000000000000000000000000000000000000..a54ce1e5fb5726e2eb3e00c89620a5b196aa1d62 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/shopify.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/simple.gif b/doc/kafka-100-doc-zh/images/powered-by/simple.gif new file mode 100644 index 0000000000000000000000000000000000000000..3486728a07e3dce648fd0f7c1c4fb5c76c3913e5 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/simple.gif differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/skyscanner.png b/doc/kafka-100-doc-zh/images/powered-by/skyscanner.png new file mode 100644 index 0000000000000000000000000000000000000000..4c378b91bcd417f44deb1592479052086ef0f2ff Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/skyscanner.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/socialtwist.jpg b/doc/kafka-100-doc-zh/images/powered-by/socialtwist.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d160faff5ee9ffe80fab12322476289521294a70 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/socialtwist.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/spongecell.png b/doc/kafka-100-doc-zh/images/powered-by/spongecell.png new file mode 100644 index 0000000000000000000000000000000000000000..fad65208aec85250231345911caa264a1a17e090 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/spongecell.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/spotify.png b/doc/kafka-100-doc-zh/images/powered-by/spotify.png new file mode 100644 index 0000000000000000000000000000000000000000..51b8cdb87f4f4ca4781bf58555b49696ddc4c934 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/spotify.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/square.png b/doc/kafka-100-doc-zh/images/powered-by/square.png new file mode 100644 index 0000000000000000000000000000000000000000..1105eaf0ca907dd3af133f4aaf56ba28a4d69c9e Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/square.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/strava.jpg b/doc/kafka-100-doc-zh/images/powered-by/strava.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d6959e2cc36564a7f90b8153be98ea6d78c976e0 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/strava.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/stumbleupon.png b/doc/kafka-100-doc-zh/images/powered-by/stumbleupon.png new file mode 100644 index 0000000000000000000000000000000000000000..6cc2538ade9a2dcb1fd02ebb856eb4fbc4a413a8 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/stumbleupon.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/swiftkey.png b/doc/kafka-100-doc-zh/images/powered-by/swiftkey.png new file mode 100644 index 0000000000000000000000000000000000000000..804bc5eaf075f9701d4c38bf45e28681379396ea Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/swiftkey.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/tagged.png b/doc/kafka-100-doc-zh/images/powered-by/tagged.png new file mode 100644 index 0000000000000000000000000000000000000000..2b189498817e3b470f35158ec54824c952cf780e Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/tagged.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/trivago.png b/doc/kafka-100-doc-zh/images/powered-by/trivago.png new file mode 100644 index 0000000000000000000000000000000000000000..bef461a60643ff644cb3bb68bf00a0fca2cc6477 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/trivago.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/tumblr.png b/doc/kafka-100-doc-zh/images/powered-by/tumblr.png new file mode 100644 index 0000000000000000000000000000000000000000..0624bcb5ee08d226a4fff4cec3838c259fb28de1 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/tumblr.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/twitter.jpg b/doc/kafka-100-doc-zh/images/powered-by/twitter.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d60ba2e3a4e4c6f23db568104bf8cc5e2d714ca6 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/twitter.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/uber.png b/doc/kafka-100-doc-zh/images/powered-by/uber.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc3dade166d0332531f49d25c3a26763c57e919 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/uber.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/urbanairship.png b/doc/kafka-100-doc-zh/images/powered-by/urbanairship.png new file mode 100644 index 0000000000000000000000000000000000000000..655c932a42280bf0b5e78f16fb1475c431c0c840 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/urbanairship.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/uswitch.png b/doc/kafka-100-doc-zh/images/powered-by/uswitch.png new file mode 100644 index 0000000000000000000000000000000000000000..7d60c2c046f107d2c704ced1f969a1f9e0e00c94 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/uswitch.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/visualdna.jpg b/doc/kafka-100-doc-zh/images/powered-by/visualdna.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0789a6cbe67e27d775e5686bca1becfd0c06b06 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/visualdna.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/visualrevenue.jpg b/doc/kafka-100-doc-zh/images/powered-by/visualrevenue.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0be4b19e610c38578bb3655e24b2db8bfdb4855 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/visualrevenue.jpg differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/vividcortex.png b/doc/kafka-100-doc-zh/images/powered-by/vividcortex.png new file mode 100644 index 0000000000000000000000000000000000000000..0155ff8550eb2fcdd6a242edfaede8389cf072fa Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/vividcortex.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/wikimedia.png b/doc/kafka-100-doc-zh/images/powered-by/wikimedia.png new file mode 100644 index 0000000000000000000000000000000000000000..392a37d366d26bb38fddfa9d74584d0d383bb619 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/wikimedia.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/wizecommerce.gif b/doc/kafka-100-doc-zh/images/powered-by/wizecommerce.gif new file mode 100644 index 0000000000000000000000000000000000000000..20438664ca4dd448d857879d7e1f2213b514ffa1 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/wizecommerce.gif differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/wooga.png b/doc/kafka-100-doc-zh/images/powered-by/wooga.png new file mode 100644 index 0000000000000000000000000000000000000000..2c7cf935ef8457d54797c306a590b226310fc414 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/wooga.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/xite.png b/doc/kafka-100-doc-zh/images/powered-by/xite.png new file mode 100644 index 0000000000000000000000000000000000000000..37dfae91e1cce0191f12463712cf3566188b215b Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/xite.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/yahoo.png b/doc/kafka-100-doc-zh/images/powered-by/yahoo.png new file mode 100644 index 0000000000000000000000000000000000000000..27b4672a683c2397a8b04c32b009c79288e56c35 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/yahoo.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/yeller.png b/doc/kafka-100-doc-zh/images/powered-by/yeller.png new file mode 100644 index 0000000000000000000000000000000000000000..83314ca0673de4b4bfc9fd273a4218ee248fa845 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/yeller.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/yieldbot.png b/doc/kafka-100-doc-zh/images/powered-by/yieldbot.png new file mode 100644 index 0000000000000000000000000000000000000000..ac0f7e654e51ae8f271a636a217ddaa303b08af8 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/yieldbot.png differ diff --git a/doc/kafka-100-doc-zh/images/powered-by/zalando.jpg b/doc/kafka-100-doc-zh/images/powered-by/zalando.jpg new file mode 100644 index 0000000000000000000000000000000000000000..555f102fcaf2c7819a9c7347222d0abd843dfed4 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/powered-by/zalando.jpg differ diff --git a/doc/kafka-100-doc-zh/images/prashanth.jpg b/doc/kafka-100-doc-zh/images/prashanth.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e562a808cf5351556d40649dd1adb799928af9f6 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/prashanth.jpg differ diff --git a/doc/kafka-100-doc-zh/images/producer_consumer.png b/doc/kafka-100-doc-zh/images/producer_consumer.png new file mode 100644 index 0000000000000000000000000000000000000000..96c342202024988eb9b071ef77094b8f1b573fa9 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/producer_consumer.png differ diff --git a/doc/kafka-100-doc-zh/images/rsivaram.jpg b/doc/kafka-100-doc-zh/images/rsivaram.jpg new file mode 100644 index 0000000000000000000000000000000000000000..11ffc21e87b3c4ff4bfc03503ec06d75173343f3 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/rsivaram.jpg differ diff --git a/doc/kafka-100-doc-zh/images/sriram.jpg b/doc/kafka-100-doc-zh/images/sriram.jpg new file mode 100644 index 0000000000000000000000000000000000000000..17f21825d608d943809714d5127c6eb63d6ab1a1 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/sriram.jpg differ diff --git a/doc/kafka-100-doc-zh/images/tracking_high_level.png b/doc/kafka-100-doc-zh/images/tracking_high_level.png new file mode 100644 index 0000000000000000000000000000000000000000..969204260f33f97533be02c3e8cfec0ad6113df8 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/tracking_high_level.png differ diff --git a/doc/kafka-100-doc-zh/images/twitter_logo.png b/doc/kafka-100-doc-zh/images/twitter_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a64c022ab389d0bf46f1f8267acfb835c2d3eae9 Binary files /dev/null and b/doc/kafka-100-doc-zh/images/twitter_logo.png differ diff --git a/doc/kafka-100-doc-zh/includes/_docs_banner.htm b/doc/kafka-100-doc-zh/includes/_docs_banner.htm new file mode 100644 index 0000000000000000000000000000000000000000..7ed9f0eaeb521418029c5ca36d84dca4b088bc06 --- /dev/null +++ b/doc/kafka-100-doc-zh/includes/_docs_banner.htm @@ -0,0 +1,3 @@ + + You're viewing documentation for an older version of Kafka - check out our current documentation here. + diff --git a/doc/kafka-100-doc-zh/includes/_docs_footer.htm b/doc/kafka-100-doc-zh/includes/_docs_footer.htm new file mode 100644 index 0000000000000000000000000000000000000000..f6cf782c4fee9d79881c0014730f113bfe3feaaa --- /dev/null +++ b/doc/kafka-100-doc-zh/includes/_docs_footer.htm @@ -0,0 +1,9 @@ + diff --git a/doc/kafka-100-doc-zh/includes/_footer.htm b/doc/kafka-100-doc-zh/includes/_footer.htm new file mode 100644 index 0000000000000000000000000000000000000000..0088f9e7e907a3b2b4dec0d2aee88aae05f789f7 --- /dev/null +++ b/doc/kafka-100-doc-zh/includes/_footer.htm @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/includes/_header.htm b/doc/kafka-100-doc-zh/includes/_header.htm new file mode 100644 index 0000000000000000000000000000000000000000..74724a4f873c5edcdd203b13b34dcdf47a422c24 --- /dev/null +++ b/doc/kafka-100-doc-zh/includes/_header.htm @@ -0,0 +1,59 @@ + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/includes/_nav.htm b/doc/kafka-100-doc-zh/includes/_nav.htm new file mode 100644 index 0000000000000000000000000000000000000000..916bcb1b68185777610486a737d84c66c9556767 --- /dev/null +++ b/doc/kafka-100-doc-zh/includes/_nav.htm @@ -0,0 +1,59 @@ + diff --git a/doc/kafka-100-doc-zh/includes/_top.htm b/doc/kafka-100-doc-zh/includes/_top.htm new file mode 100644 index 0000000000000000000000000000000000000000..a9cbc8d9c4bb977e9a667f934959d87fbb26ca70 --- /dev/null +++ b/doc/kafka-100-doc-zh/includes/_top.htm @@ -0,0 +1,5 @@ + +
+
+ +
diff --git a/doc/kafka-100-doc-zh/index.html b/doc/kafka-100-doc-zh/index.html new file mode 100644 index 0000000000000000000000000000000000000000..fadeca19f319619409bb107e235f57270036b744 --- /dev/null +++ b/doc/kafka-100-doc-zh/index.html @@ -0,0 +1,304 @@ + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ + + +
+ +
+ +
+

Kafka® 用于构建实时的数据管道和流式的app.它可以水平扩展,高可用,速度快,并且已经运行在数千家公司的生产环境。

+ Learn more +
+
+ + +
+
+
+ + + + + + + + + + + + + + diff --git a/doc/kafka-100-doc-zh/intro.html b/doc/kafka-100-doc-zh/intro.html new file mode 100644 index 0000000000000000000000000000000000000000..69d3664b53528ecb3438f171cea87cfc0095f043 --- /dev/null +++ b/doc/kafka-100-doc-zh/intro.html @@ -0,0 +1,539 @@ + + + + + Kafka 中文文档 - ApacheCN + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ + + +
+

Introduction

+ + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/kafka-100-doc-zh/js/apachecn/googletagmanager.js b/doc/kafka-100-doc-zh/js/apachecn/googletagmanager.js new file mode 100644 index 0000000000000000000000000000000000000000..e0a648b04966b129997d5fc412ce8851c0324305 --- /dev/null +++ b/doc/kafka-100-doc-zh/js/apachecn/googletagmanager.js @@ -0,0 +1,139 @@ + +// Copyright 2012 Google Inc. All rights reserved. +(function(){ + + var data = { + "resource": { + "version":"1", + "macros":[], + "tags":[], + "predicates":[], + "rules":[] + }, + "runtime":[ + [],[] + ]}; + + var ba=function(a,b){function c(){}c.prototype=b.prototype;a.Mb=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.Jb=function(a,c,f){for(var d=Array(arguments.length-2),e=2;ee&&(e=Math.max(d+e,0));for(var f=e;fc?d+c:Math.min(c,e));for(var f=e;0<=f;f--)if(this.has(f)&&this.get(f)===b)return f;return-1}; + J.map=function(a,b){for(var c=K(this),d=[],e=0;ed)throw"TypeError: ReduceRight on List with no elements.";}for(g=f;0<=g;g--)this.has(g)&&(e=b.g(a,e,this.get(g),g,this));return e};J.reverse=function(){for(var a=ta(this),b=a.length-1,c=0;0<=b;b--,c++)a.hasOwnProperty(b)?this.set(c,a[b]):this.remove(c);return this};J.shift=function(){return this.shift()}; + J.slice=function(a,b,c){var d=K(this);void 0===b&&(b=0);b=0>b?Math.max(d+b,0):Math.min(b,d);c=void 0===c?d:0>c?Math.max(d+c,0):Math.min(c,d);c=Math.max(b,c);for(var e=[],f=b;fthis.evaluate(b)};M.nb=function(a,b){return this.evaluate(a)>=this.evaluate(b)};M.ob=function(a,b){return this.evaluate(a)===this.evaluate(b)};M.pb=function(a,b){return this.evaluate(a)!==this.evaluate(b)}; + M["if"]=function(a,b,c){var d=[];this.evaluate(a)?d=this.evaluate(b):c&&(d=this.evaluate(c));var e=this.V(d);if(e instanceof h)return e};M.sb=function(a,b){return this.evaluate(a)b)a=0,b=2147483647;return Math.floor(Math.random()*(b-a+1)+a)},Yb=function(){this.prefix="gtm.";this.values={}};Yb.prototype.set=function(a,b){this.values[this.prefix+a]=b};Yb.prototype.get=function(a){return this.values[this.prefix+a]};Yb.prototype.contains=function(a){return void 0!==this.get(a)}; + var Zb=function(){var a=Kb.sequence||0;Kb.sequence=a+1;return a},$b=function(a,b,c){return a&&a.hasOwnProperty(b)?a[b]:c},ac=function(a){var b=!1;return function(){if(!b)try{a()}catch(c){}b=!0}};var bc=function(a,b){},cc=function(a,b){},dc=function(a,b){},ec=function(a,b){},fc=function(){};var ic=!1,jc=0,kc=[];function lc(a){if(!ic){var b=S.createEventObject,c="complete"==S.readyState,d="interactive"==S.readyState;if(!a||"readystatechange"!=a.type||c||!b&&d){ic=!0;for(var e=0;ejc){jc++;try{S.documentElement.doScroll("left"),lc()}catch(a){R.setTimeout(mc,50)}}};var nc=function(){var a=function(a){return{toString:function(){return a}}};return{O:a("function"),Ib:a("live_only"),Pa:a("tag_id")}}();var oc=new Yb,pc={},rc={set:function(a,b){I(qc(a,b),pc)},get:function(a){return X(a,2)},reset:function(){oc=new Yb;pc={}}},X=function(a,b){return 2!=b?oc.get(a):sc(a)},sc=function(a,b,c){var d=a.split(".");var e=function(a,b){for(var c=0;void 0!==a&&cha(b,g))if(k&&0ha(b, + k[p])){l=!1;break a}}else{l=!1;break a}l=!0}var q=!1;if(c){var m;if(!(m=0<=ha(d,g)))a:{for(var z=k||[],u=new Yb,r=0;r=c&&a()})},Ua:function(){d=!0;b>=c&&a()}}}var Gc=!1;var Hc=function(a,b){var c={};c[nc.O]="__"+a;for(var d in b)b.hasOwnProperty(d)&&(c["vtp_"+d]=b[d]);for(d in void 0)(void 0).hasOwnProperty(d)&&(c[d]=(void 0)[d]);zb.push(c);return zb.length-1};var Ic=/[A-Z]+/,Jc=/\s/,Kc=function(a){function b(){dc('Cannot parse target: "%s"',a)}if(Qb(a)&&(a=a.trim(),!Jc.test(a))){var c=a.indexOf("-");if(!(0>c)){var d=a.substring(0,c);if(Ic.test(d)){for(var e=a.substring(c+1).split("/"),f=0;fa.length||!Qb(a[1])||!F(b)){Sc("config","[string, object]",a);return}var c=Kc(a[1]); + if(!c)return;Pc()?Rc(c):Tc();var d=c.id,e;for(e in Mc)if(Mc.hasOwnProperty(e)){var f=ha(Mc[e],d);0<=f&&Mc[e].splice(f,1)}var g=c.id,k=b.groups||"default";k=k.toString().split(",");for(var l=0;l=Number(c);case "_gt":return Number(b)>Number(c);case "_lc":var g;g=b.toString().split(",");return 0<=ha(g,String(c));case "_le":return Number(b)<=Number(c);case "_lt":return Number(b)"+('')+"
";b=b.lastChild;for(var c=[];b.firstChild;)c.push(b.removeChild(b.firstChild));return c[0].href}function md(a){return Tb(pa(a))}function nd(a){return null===a?"null":void 0===a?"undefined":a.toString()}function od(a,b){return Xb(a,b)} + function pd(a,b,c){if(!(a instanceof n))return null;for(var d=new B,e=!1,f=a.get("length"),g=0;gf;f++){var g=e[f].src; + if(g){g=g.toLowerCase();if(0===g.indexOf(c))return 3;1===d&&0===g.indexOf(b)&&(d=2)}}return d};var ke=function(a,b){return sc(a,b,void 0)};var Z={a:{}}; + + + Z.a.e=["google"],function(){(function(a){Z.__e=a;Z.__e.m="e";Z.__e.o=!0})(function(){return Lb})}(); + Z.a.v=["google"],function(){(function(a){Z.__v=a;Z.__v.m="v";Z.__v.o=!0})(function(a){var b,c=a.vtp_name.replace(/\\\./g,".");b=X(c,a.vtp_dataLayerVersion||1);return void 0!==b?b:a.vtp_defaultValue})}(); + + + + + Z.a.gtagaw=["google"],function(){var a=!1,b=!1,c=[],d="send_to aw_remarketing aw_remarketing_only custom_params send_page_view language value currency transaction_id user_id conversion_linker conversion_cookie_prefix page_location page_referrer phone_conversion_number phone_conversion_callback phone_conversion_css_class".split(" "),e=function(a){var b=Y("google_trackConversion"),c=a.gtm_onFailure;"function"==typeof b?b(a)||c():c()},f=function(){for(;0c.length){if(0==c.length)continue;dc("Internal Error");break}rd.i(c)}})(data.runtime||[]);le.Va(); + (function(){var a=za("dataLayer",[]),b=za("google_tag_manager",{});b=b["dataLayer"]=b["dataLayer"]||{};kc.push(function(){b.gtmDom||(b.gtmDom=!0,a.push({event:"gtm.dom"}))});Xc.push(function(){b.gtmLoad||(b.gtmLoad=!0,a.push({event:"gtm.load"}))});var c=a.push;a.push=function(){var b=[].slice.call(arguments,0);c.apply(a,b);for(Zc.push.apply(Zc,b);300 + + + + + \ No newline at end of file diff --git a/doc/kafka-100-doc-zh/js/jquery.min.js b/doc/kafka-100-doc-zh/js/jquery.min.js new file mode 100644 index 0000000000000000000000000000000000000000..18bdbed7f726c08dddb00e25c0f366fd6ba454f6 --- /dev/null +++ b/doc/kafka-100-doc-zh/js/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v2.1.3 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c) +},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("