<commit_before><!DOCTYPE html>
<html>
<head>
    <script src="build/react-with-addons.js"></script>
    <script src="build/JSXTransformer.js"></script>

    <style>
        div {
            margin: 0;
            padding: 0;
        }
        p.label {
            text-align: center;
            font-weight: bold;
            font-family: monospace;
        }
        div.block {
            vertical-align: top;
            display: inline-block;
            margin: 3px;
            padding: 7px;
            border: 1px solid grey;
            border-radius: 3px;
        }

        div.nested-blocks {
            vertical-align: bottom;
            display: inline-block;
        }
    </style>
</head>
<body>
<div id="blocker"></div>
<script type="text/jsx">
    function l(msg) {
        console.log(msg);
    }
    function d(msg) {
        console.dir(msg);
    }
    var key = 0;
    var getKey = function () {
        return ++key;
    };

    var Block = React.createClass({
        addNested: function () {
            var block = {};
            block[getKey()] = {label: "new", nested: {}};
            this.handlePropagateAddNested({$merge: block});
        },
        handlePropagateAddNested: function (nested) {
            var block = {};
            block[this.props.id] = {nested: nested};

            this.props.propagateAddNested(block);
        },
        render: function () {
            var block = this.props.block.label;
            var nestedBlocks = "";
            if (this.props.block.nested) {
                var nested = this.props.block.nested;
                var handlePropagateAddNested = this.handlePropagateAddNested;
                nestedBlocks = Object.keys(nested).map(function (id) {
                    var block = nested[id];
                    return (<Block block={block} id={id} propagateAddNested={handlePropagateAddNested}/>);
                });
            }
            return (<div className="block">
                <p className="label">{block}</p>
                <div className="nested-blocks">{nestedBlocks}</div>
                <button onClick={this.addNested}>+</button>
            </div>)
        }
    });

    var Blocker = React.createClass({
        getInitialState: function () {
            return {
                block: {
                    root: {
                        label: "biz.poolparty",
                        nested: {
                            b: {
                                label: "extractor",
                                nested: {}
                            },
                            c: {
                                label: "thesaurus",
                                nested: {
                                    e: {
                                        label: "vocabulary", nested: {}
                                    },
                                    f: {
                                        label: "corpus", nested: {}
                                    }
                                }
                            },
                            d: {
                                label: "search",
                                nested: {}
                            }
                        }
                    }
                }<commit_msg>fixed links<commit_after><!DOCTYPE html>
<html>
<head>
    <script src="react-0.13.3/build/react-with-addons.js"></script>
    <script src="react-0.13.3/build/JSXTransformer.js"></script>

    <style>
        div {
            margin: 0;
            padding: 0;
        }
        p.label {
            text-align: center;
            font-weight: bold;
            font-family: monospace;
        }
        div.block {
            vertical-align: top;
            display: inline-block;
            margin: 3px;
            padding: 7px;
            border: 1px solid grey;
            border-radius: 3px;
        }

        div.nested-blocks {
            vertical-align: bottom;
            display: inline-block;
        }
    </style>
</head>
<body>
<div id="blocker"></div>
<script type="text/jsx">
    function l(msg) {
        console.log(msg);
    }
    function d(msg) {
        console.dir(msg);
    }
    var key = 0;
    var getKey = function () {
        return ++key;
    };

    var Block = React.createClass({
        addNested: function () {
            var block = {};
            block[getKey()] = {label: "new", nested: {}};
            this.handlePropagateAddNested({$merge: block});
        },
        handlePropagateAddNested: function (nested) {
            var block = {};
            block[this.props.id] = {nested: nested};

            this.props.propagateAddNested(block);
        },
        render: function () {
            var block = this.props.block.label;
            var nestedBlocks = "";
            if (this.props.block.nested) {
                var nested = this.props.block.nested;
                var handlePropagateAddNested = this.handlePropagateAddNested;
                nestedBlocks = Object.keys(nested).map(function (id) {
                    var block = nested[id];
                    return (<Block block={block} id={id} propagateAddNested={handlePropagateAddNested}/>);
                });
            }
            return (<div className="block">
                <p className="label">{block}</p>
                <div className="nested-blocks">{nestedBlocks}</div>
                <button onClick={this.addNested}>+</button>
            </div>)
        }
    });

    var Blocker = React.createClass({
        getInitialState: function () {
            return {
                block: {
                    root: {
                        label: "root",
                        nested: {
                            b: {
                                label: "one",
                                nested: {}
                            },
                            c: {
                                label: "two",
                                nested: {
                                    e: {
                                        label: "some", nested: {}
                                    },
                                    f: {
                                        label: "other", nested: {}
                                    }
                                }
                            },
                            d: {
                                label: "three",
                                nested: {}
                            }
                        }
                    }
                }
{'fraction_non_alphanumeric': 0.113405192044937, 'fraction_numerical': 0.003339911947775922, 'mean_word_length': 0.9291361639824305, 'pattern_counts': {'":': 0, '<': 49, '<?xml version=': 0, '>': 49, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 12, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6131855', 'n_tokens_mistral': 1682, 'n_tokens_neox': 1589, 'n_words': 303}